当argv*[]是字符串时,如何通过c中的命令行传递数组?

当argv*[]是字符串时,如何通过c中的命令行传递数组?,c,arrays,command-line,command,C,Arrays,Command Line,Command,intmain(intargc,char*argv[]) 在这段代码中,argv[]是一个字符串而不是数组,那么我如何使用它作为数组来执行求和操作呢?您可以这样做 #include <stdio.h> #include <stdlib.h> int main(int argc, char const *argv[]) { int sum = 0; int i = 1; for(;i<argc;++i) sum += atoi

intmain(intargc,char*argv[])


在这段代码中,argv[]是一个字符串而不是数组,那么我如何使用它作为数组来执行求和操作呢?

您可以这样做

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char const *argv[])
{
    int sum = 0;
    int i = 1;
    for(;i<argc;++i)
        sum += atoi(argv[i]);
    printf("%d\n",sum);
    return 0;
}

您必须自己分析命令行参数才能在C程序中创建数组。@DavidBowling您能给我一个通过命令行添加两个数字的示例吗?atoi(argv[1])+atoi(argv[2])什么是atoi<代码>错误atoi未定义@sergeyrar
$ gcc test.c && ./a.out 1 2 3 4
10