Jochen Arndt
Вам не нужна копия argv
входной массив, но приходится преобразовывать текстовые аргументы в числа с помощью Atoi-ссылка на C++ [^] или strtol-ссылка на C++ [^] :
int main(int argc, char* argv[])
{
int array_of_ints[MAX];
int i;
for (i = 1; i < argc && i < MAX; i++)
{
array_of_ints[i] = atoi(argv[i]);
printf("%d ", array_of_ints[i]);
}
return 0;
}
Обратите внимание, что вышеизложенное не проверяет, является ли вход допустимым числом и что я исправил цикл. В C/C++ массивы начинаются с нулевого индекса, и поэтому доступ к последнему элементу осуществляется
size - 1
.
[РЕДАКТИРОВАТЬ]
Я также добавил проверку, чтобы убедиться, что никаких выходов из привязки не происходит.
[/РЕДАКТИРОВАТЬ]
Jochen Arndt
Спасибо.
Пропуск argv[0] в качестве пути программы. Я думал о хранении, начиная с нулевого индекса, но он использовал один и тот же индекс для обоих, и поэтому я решил сделать то же самое.