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

在Visual Studio Code中如何向C语言程序传递命令行参数

注意:你当前的代码未判断argc >= 2就直接访问argv[1],如果无参数运行会触发内存访问崩溃,建议先添加参数数量判断逻辑,参考修改如下:

#include <stdio.h>

int main(int argc, char* argv[]){
    int nArg = argc;
    char* arg1 = argv[0];
    printf("\nnumber of argument is %d", nArg);
    printf("\n Arg1 is %s", arg1);
    // 新增参数数量判断,避免越界访问
    if(nArg >= 2){
        char* arg2 = argv[1];
        printf("\n Arg 2 is %s",arg2);
    }
    return 0;
}
VS Code传入C语言命令行参数的3种常用方法

方法1:终端手动运行(最灵活)

  • 先编译代码:打开VS Code内置终端,执行编译命令,假设你的文件名为test.c:
    Windows环境(GCC编译器):gcc test.c -o test.exe
    Mac/Linux环境:gcc test.c -o test
  • 运行时直接带参数执行:
    Windows:./test.exe 你要传的参数
    Mac/Linux:./test 你要传的参数
  • 运行后即可输出对应值,argc为参数总数量(含可执行文件本身,传1个额外参数的话argc=2),argv[0]为可执行文件路径,argv[1]为你传入的自定义参数。

方法2:配置launch.json调试时自动传参

如果需要调试代码时自动带入固定参数,走VS Code原生调试流程:

  • 按Ctrl+Shift+D(Mac是Command+Shift+D)打开运行调试面板,点击「创建launch.json文件」,选择你的C/C++对应调试环境(GDB/LLDB)
  • 在生成的launch.json配置中找到args字段,把你需要传入的参数写入数组,示例:
    "args": ["测试参数1"],
    
  • 保存配置后按F5启动调试,就会自动传入配置好的参数,无需手动输入。

方法3:Code Runner插件运行传参

如果你用Code Runner插件点击右上角按钮运行代码:

  • 先打开VS Code设置,搜索code-runner.runInTerminal,将该选项勾选为true,让代码运行在内置终端中。
  • 点击右上角运行按钮后,终端会自动执行编译,生成可执行文件后,你手动在终端的可执行文件路径后面补充你要传的参数,回车运行即可。
  • 如果需要固定传入参数,可以搜索code-runner.executorMap,点击「在settings.json中编辑」,找到C语言对应的配置行,在$fileNameWithoutExt后面加上固定参数即可,示例:
    "c": "cd $dir && gcc $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt 固定参数",
    

内容的提问来源于stack exchange,提问作者Misterk

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 03:24:01