VSCode中含scanf的C代码运行无响应问题求助
含scanf的C程序在VSCode中无响应的解决方案
问题根源
- 命令路径错误:你的编译运行命令末尾,程序路径与可执行文件名之间缺少反斜杠,系统无法定位可执行文件。
- 输出缓冲未刷新:
printf("Insert number");无换行符,导致输出被缓冲,提示信息无法立即显示,程序实际在等待输入。 - 运行环境非交互式:若VSCode默认用输出面板而非集成终端运行程序,程序无法获取输入,表现为卡住。
修复方案
1. 调整代码刷新输出
在printf语句末尾添加换行符,强制刷新缓冲区,让提示信息及时显示:
#include <stdio.h> int main() { int num; printf("Insert number:\n"); scanf("%d", &num); printf("%d\n", num); return 0; }
2. 修正编译运行命令
修正路径与程序名的分隔,正确命令如下:
cd "c:\Users\LENOVO\Desktop\Programação\C" && gcc Exemplo.c -o Exemplo && "c:\Users\LENOVO\Desktop\Programação\C"\Exemplo
3. 配置VSCode使用交互式终端
- 按
Ctrl+,打开设置,搜索code-runner.runInTerminal并勾选该选项,让程序在集成终端中运行,方便输入。 - 若使用Code Runner扩展,进入扩展设置确认“Run in Terminal”已启用。
验证
重新编译运行后,集成终端会显示输入提示,输入数字回车后,即可看到对应输出。
内容的提问来源于stack exchange,提问作者Light
相关产品推荐
相关产品推荐

