S1和s2初始化,都可以表示完整的字符串,所以復制函數strcpy運行正常,結果在意料之中。
先說說書上為什麽這麽說。
如果字符串數組沒有初始化,或者字符串指針沒有初始化並指向正確的字符串,就會出現問題。
再來說說函數strcpy的原理:
將字符串中的字符按指針偏移量依次復制到目標數組,只有在遇到字符串結束符' \0 '時復制才結束。
如果字符串未初始化,則字符串終止符不確定,可能在定義的字符串數組長度內,也可能越過邊界繼續尋找第壹個終止符。此時,復制結果是不確定的或錯誤的。