因为你输入的是a,回车
而代码里getchar每次只会读入一个字符
缓冲区里有2个字符,它当然会循环走两次
vs好像要输入几次ctrl+z并回车才是EOF
第二个输出对应的是输入的回车符
这么改:
#include <stdio.h>
int main()
{
int a;
while ((a=getchar()) != EOF){
getchar();
putchar(a);
printf("It isn't EOF\n");
}
return 0;
}
还有个回车吧?是不是也打印出来了
不知道你这个问题是否已经解决, 如果还没有解决的话: