Почему я получаю ошибку seg для следующего кода?
Я пытаюсь динамически выделять память на вход argc, но постоянно получаю ошибку seg
Что я уже пробовал:
int main(int argc, char* argv[]) { int n = argc; char** argv_inputs = malloc(n * sizeof(char*)); int* array_of_ints = malloc(n * sizeof(int)); int i, sum, index; if (argc < 3) { printf("Error: too few arguments"); } else { for(i = 2; i <= n; i++) { argv_inputs[i-2] = argv[i]; } string_to_int(argv_inputs, array_of_ints, n-1); } return(0); }
Mohibur Rashid
Ваш цикл for выполняется лишнюю милю
Jochen Arndt
Вы читали мой ответ на ваш предыдущий вопрос?
Там я уже заметил, что цикл повторяется в неправильном диапазоне.