VS Code运行部分C语言代码无输出问题求助
问题根因
这是你安装的Code Runner扩展的默认配置问题,和你的代码无关:
Code Runner默认将程序运行结果输出到只读的「输出」面板,该面板不支持接收用户交互式输入,当程序执行到scanf语句时会一直阻塞等待输入,前置的printf内容也会因为输出缓冲或面板限制无法正常显示,就会出现你看到的一直显示运行中、无任何输出的情况。
解决方法
- 打开VS Code设置(快捷键
Ctrl+,),搜索配置项code-runner.runInTerminal,勾选该选项即可。开启后Code Runner会调用VS Code可交互的集成终端运行程序,就能正常弹出输入提示、接收你输入的内容了。 - 如果开启后仍然异常,检查VS Code集成终端的默认配置,Windows环境下选择PowerShell或系统自带CMD作为默认终端,避免使用WSL、Git Bash这类存在路径适配问题的终端。
- 极少数情况是本地杀毒软件实时拦截了刚编译生成的exe可执行文件,你可以临时关闭杀毒软件的实时防护后再运行测试,确认是拦截问题的话将你的编程工作目录加入杀毒软件白名单即可。
- 如果上述配置都改完还是偶发输出不显示的情况,可以在
printf语句之后手动加fflush(stdout);强制刷新输出缓冲区,避免内容滞留在缓冲里没打印出来。
内容的提问来源于stack exchange,提问作者max1eee -
相关产品推荐
相关产品推荐

