1
我有这样的计划,我希望它通过一个递增,每次我给一个字符的getchar()函数绕过一个循环
#include <stdio.h>
int main(void){
//Declarations
long nc;
//Instantiations
nc = 0;
while (getchar() != EOF){
++nc;
printf("%ld\n", nc);
}
return 0;
}
时间打印我的计数器的值当,如果我按ENTER键循环启动我得到1,2,3,4,5 ...这是可以的。但是如果我输入一个字符或其他东西,它会打印接下来的两个数字12,34,56,78。为什么会发生?
我在gcc 4.6.3 Ubuntu 12.04发行版上运行该程序。
谢谢你的回答,很有说服力。我没有注意到,如果我写更多的字符,我会得到更多的增量和打印。 –