字符计数程序的问题
看书上的字符计数程序,自己也写了一个.如下:# include <stdio.h>
int main(void)
{
int i, c;
i = 0;
c = getchar();
while(c != EOF){
++i;
c = getchar();
printf("i=%d\n",i);
}
return 0;
}
运行后,我输入了"123"三个字符然后回车,出来的结果是i=1 i=2 i=3,按照这个程序,应该还有个i值为4,为什么没有显示出来
然后我按了EOF的快捷键,显示了个 i=4的结果,为什么我输入的是EOF,printf程序还是把i=4显示出来了.
真是百思不得其解啊!!
另外我也写过
printf("i=%d\n",i);
c = getchar();
}
这个我推算的结果和输出的是一样的.现在我就是想知道 当c=getchar()在printf()前面的时候为什么会是这个结果?