因此,這是在C標準字符串連接代碼:字符串連接使用指針
char *stringcat(char *dest, const char *src){
char *save=dest;
while(*save !='\0'){
save++;
}
while(*src!='\0'){
*save=*src;
save++;
src++;
}
*save='\0';
return dest;
}
我的問題是,爲什麼當我們更換第一while循環有以下:
while(*save++){};
它但是,當替換爲:
while(*++save){};
它確實有效。在前兩個實例中,將結束點保存到位於末尾的空終止符處,然後由src中的第一個字符覆蓋。但是,在第三種情況下,似乎保存將指向之後的字符,這是奇怪的。
您認爲它們應該如何/爲什麼相同? –
嗯,試試'char buf [10] =「123」; stringcat(buf,&buf [1]); puts(buf);' – chux