问题遇到的现象和发生背景
先看下面这段代码,很简单的C语言代码,其中while(scanf("%d",&n) != EOF)在VS里面运行起来就是不行,不知道为什么?输入了三遍ctrl+z才结束了循环,然后我看我朋友用codeblocks输入Z^(ctrl+z)就结束了循环,属于正常的。
会不会是Visual Studio编译器的问题?有没有好人帮忙看一下
代码:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int n;
while (scanf("%d", &n) != EOF)
{
printf("%d", n);
}
return 0;
}
运行结果及报错内容
单步调试的结果是这样:
)
我的解答思路和尝试过的方法
不知道是不是编译器本身的问题?也或者是VS的某处设置,但是我的VS在其他方面运行起来一直没有问题。
我想要达到的结果
哪位好人能解答一下吗?我的VS编译器scanf怎么就不能够正常读入EOF,又为什么输入了三次之后成功读入了EOF