Как передать массив через командную строку в C, в то время как argv * [] является строкой? - PullRequest
0 голосов
/ 18 мая 2018

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

В этом коде argv [] является строкой, а не массивом, так как я могу использовать ее как массив для выполнения операции суммирования?

1 Ответ

0 голосов
/ 18 мая 2018

Вы можете сделать это так

#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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...