【问题标题】:how to pass a array though command line in c while argv*[] is a string?如何在 argv*[] 是字符串时通过 c 中的命令行传递数组?
【发布时间】:2018-10-28 10:11:48
【问题描述】:

int main(int argc, char* argv[])

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

【问题讨论】:

  • 您必须自己解析命令行参数才能在您的 C 程序中创建一个数组。
  • @DavidBowling 你能给我一个通过命令行添加两个数字的例子吗?
  • atoi(argv[1]) + atoi(argv[2])
  • 什么是 atoi... error atoi is not defined @sergeyrar

标签: c arrays command-line command


【解决方案1】:

你可以这样做

#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;
}

结果:

$ gcc test.c && ./a.out 1 2 3 4
10

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-16
    • 2016-04-16
    • 2014-09-23
    • 2014-07-10
    • 2021-08-24
    • 1970-01-01
    相关资源
    最近更新 更多