You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VSCode中使用scanf()无响应,点击运行仅显示编译命令求助

解决VSCode中scanf()无输入提示的问题

问题根源

你当前的问题主要有两个核心点:

  • 误用g++编译C代码:虽然g兼容C语法,但它是C编译器,处理标准输入输出缓冲的逻辑和C编译器gcc有差异,这不是编译C代码的正确工具。
  • Code Runner默认在输出面板运行程序:输出面板仅支持显示程序输出,无法接收用户交互式输入,导致程序卡在scanf()等待输入的环节,你看不到任何提示。

修复步骤

  1. 修正编译命令
    将编译命令里的g++替换为gcc,这是编译C代码的标准工具:

    cd "/Users/Spanecon/IDK WTF/" && gcc tempCodeRunnerFile.c -o tempCodeRunnerFile && "/Users/Spanecon/IDK WTF/"tempCodeRunnerFile
    
  2. 配置Code Runner在终端运行程序

    • 打开VSCode设置(快捷键Cmd+,)
    • 搜索Code Runner: Run In Terminal,勾选该选项
      之后程序会在系统终端中启动,你能正常看到输入提示并输入内容。
  3. 可选:清理冗余代码
    你的代码里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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 15:27:20