在for循環中,我們使用的是++i
,這意味着在循環開始執行之前,i
會增加到1
。我在這裏弄錯了什麼?爲什麼str1 [0]的第一個賦值是?不應該是str1 [1]?
下面是代碼:
#include <stdio.h>
#include <string.h>
int main() {
char str1[100], str2[100];
int i;
scanf("%s", str1);
for (i = 0; str1[i] != '\0'; ++i) {
str2[i] = str1[i];
}
str2[i] = '\0';
printf("%s\n", str2);
return 0;
}
;是什麼讓你承擔這個? – alk
我不明白爲什麼要低估這個問題,這是少數有意義的問題之一,非常有效。 –
供您參考[C標準(草案)的相關章節](http://port70.net/~nsz/c/c11/n1570.html#6.8.5.3):「* for(clause-1; expression-2; expression-3)statement [...]在每次執行循環體後,表達式-3被評估爲void表達式*「 – alk