3 回答
已采納

super_mb
TA貢獻(xiàn)101條經(jīng)驗(yàn) 獲得超107個(gè)贊
我覺得strcat函數(shù)的功能應(yīng)該是這樣實(shí)現(xiàn)的:
while(*s1) ?//讀到s1的結(jié)尾
{
????????s1++;
}
while(*s1++ = *s2++) ?//將s2拼接到s1后面
{
????????NULL;
}
照上面的代碼來看,如果s1和s2內(nèi)存空間是重疊的,那么s2和s1的結(jié)尾肯定是一樣的,則當(dāng)你把s2的每一個(gè)字符加到s1后,s2本身最后也會(huì)加上這個(gè)字符,于是第二個(gè)循環(huán)會(huì)一直循環(huán)下去。?所以規(guī)定不能重疊吧。
- 3 回答
- 0 關(guān)注
- 2295 瀏覽
添加回答
舉報(bào)
0/150
提交
取消