前世后载 2022-10-29 23:55 采纳率: 100%
浏览 104
已结题

visual studio的scanf为什么返回EOF错误,或者读入不了EOF

问题遇到的现象和发生背景

先看下面这段代码,很简单的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;
}
运行结果及报错内容

img

img

单步调试的结果是这样:

img



)

我的解答思路和尝试过的方法

不知道是不是编译器本身的问题?也或者是VS的某处设置,但是我的VS在其他方面运行起来一直没有问题。

我想要达到的结果

哪位好人能解答一下吗?我的VS编译器scanf怎么就不能够正常读入EOF,又为什么输入了三次之后成功读入了EOF

  • 写回答

2条回答 默认 最新

  • qzjhjxj 2022-10-30 02:42
    关注

    是Visual Studio编译器的问题,你的理解完全正确,VS编译器scanf不正常读入EOF,需连续输入三次才会成功,目前没有找到解决这个bug的办法。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 11月22日
  • 已采纳回答 11月15日
  • 创建了问题 10月29日

悬赏问题

  • ¥15 霍尔传感器hmc5883l的xyz轴输出和该点的磁感应强度大小的关系是什么
  • ¥15 vscode开发micropython,import模块出现异常
  • ¥20 Excel数据自动录入表单并提交
  • ¥30 silcavo仿真,30分钟,只需要代码
  • ¥15 FastReport 怎么实现打印后马上关闭打印预览窗口
  • ¥15 利用3支股票数据估计其均值和方差的95%置信区间。
  • ¥15 微信小程序运行一项功能时,弹出未知错误弹框,检查代码没有问题
  • ¥15 ATAC测序生成self-pseudo replicates之前是否要进行去线粒体reads
  • ¥15 python模糊字匹配函数问题
  • ¥20 谁刷目标页面的uv记录器上数据,数据只记录跳转的数值
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部