我有一个简单的程序(基于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'也被计算在内。 –