VSCode中使用scanf()无响应,点击运行仅显示编译命令求助
解决VSCode中scanf()无输入提示的问题
问题根源
你当前的问题主要有两个核心点:
- 误用
g++编译C代码:虽然g兼容C语法,但它是C编译器,处理标准输入输出缓冲的逻辑和C编译器gcc有差异,这不是编译C代码的正确工具。 - Code Runner默认在输出面板运行程序:输出面板仅支持显示程序输出,无法接收用户交互式输入,导致程序卡在
scanf()等待输入的环节,你看不到任何提示。
修复步骤
修正编译命令
将编译命令里的g++替换为gcc,这是编译C代码的标准工具:cd "/Users/Spanecon/IDK WTF/" && gcc tempCodeRunnerFile.c -o tempCodeRunnerFile && "/Users/Spanecon/IDK WTF/"tempCodeRunnerFile配置Code Runner在终端运行程序
- 打开VSCode设置(快捷键
Cmd+,) - 搜索
Code Runner: Run In Terminal,勾选该选项
之后程序会在系统终端中启动,你能正常看到输入提示并输入内容。
- 打开VSCode设置(快捷键
可选:清理冗余代码
你的代码里int Age;后面多了一对不必要的大括号,虽然不影响运行,但可以删掉让代码更整洁:#include <stdio.h> #include <stdlib.h> int main() { int Age; printf("Enter your age: \n"); scanf("%d", &Age); printf("you are %d years old", Age); return 0; }
完成以上设置后重新运行代码,就能正常输入年龄并看到对应输出了。
内容的提问来源于stack exchange,提问作者tomatosoup04
相关产品推荐
相关产品推荐

