一段小程序中对getchar()函数的困惑,求解!
请看下面两个getchar()函数位置不一样:1. 2.
#include <stdio.h> #include <stdio.h>
main() main()
{ {
int n; int n;
for(n=100;n<=200;n++) for(n=100;n<=200;n++)
{ {
{ {
if (n%3==0) if (n%3==0)
continue; continue;
printf("%d\n",n); printf("%d\n",n);
} getchar();
} }
getchar(); }
} }
上面两种写法的代码都能得到要的答案(即输出100到200之间不能被3整除的整数),不同的是第一种写法是一次性输出所有的符合要求的整数,第二种是每按一次回车键才会输出一个,显然第一种是我们想要的,这样的区别就是由于我对getchar()函数没有很好的理解造成的,教材上以及网上都说getchar()函数表示从标准输入设备读取下一个字符,这样的讲法我不是很理解,需要说明的是我最开始接触这个函数的时候是由于输出函数printf()输出的答案无法在屏幕上显示出来,所以后来就在输出函数printf()后加一个getchar()以便直观的看见结果。
所以哪位大侠能结合我上面的实例以通俗的说下两种写法代码最后输出结果区别的原因(是否是我上面说的由getchar()函数不同位置造成的)?