{
char x[80]="AB", y[80]="LMNP";
int n=0;
strcat(x, y);
while (x[n++]!='\0')
y[n]=x[n];
puts(y); }
A、LB B、ABLMNP C、AB D、LBLMNP
請教下,答案是LBLMNP,但是我無法理解第一個L怎么來的。
uj5u.com熱心網友回復:
while(n++) 這句,判斷0,然后++變成1,進入以后第一句就是y[1] = x[n],所以y[0]保持原樣uj5u.com熱心網友回復:
問題出在這里while (x[n++] != '\0')
第一次回圈時,n=0,由于是后綴自加,所以在判斷了x[0]是否等于'\0'之后,n的值變成了1,此時再執行while回圈體時,n=1
y[n] = x[n];
即y[1]=x[1],y[0]先前的值并沒有被x[0]值覆寫。
把代碼改成
while (x[n] != '\0')
{
y[n] = x[n];
n++;
}
就可以實作對y的完全修改。
uj5u.com熱心網友回復:
謝謝了你鴨鴨
uj5u.com熱心網友回復:
謝謝你了呢~
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/115976.html
標籤:新手樂園
上一篇:C++面向物件程式設計問題求解
下一篇:PHP學習
