我有一個簡單的程序(基於C編程語言編輯2節1.5.2書中的例子)用於字符計數。該程序本身非常簡單,但我沒有得到期待的結果。C用於循環執行
看來,numberOfChars增加了兩次,我不是爲什麼......?
int main() {
int numberOfChars;
for(numberOfChars = 0; getchar() != EOF; numberOfChars++)
; //null statement
printf("Number of chars = %d\n", numberOfChars);
return 0;
}
感謝:-)
對於空語句,使用'{}'而不是';'。因爲'for'循環後面的'''可能看起來像一個錯字,而當它是一個類型時,由於這個原因它是一個非常複雜的錯誤,因此一些編譯器會在你的代碼中發出警告。請張貼輸入,實際結果和期望的結果。 –
請勿將文字作爲圖片發佈。相反,將文本複製/粘貼到問題中。 – fuz
@Pavel getchar讀取包括新行字符的所有字符。所以如果你按Enter鍵,那麼'\ n'也被計算在內。 –