Я записал приложение в C, который ожидает две строки во входе. Первый вход говорит, насколько большой массив интервала будет, и второй вход содержит значения, разделенные пространством. Например, следующий вход
5
1 2 3 4 99
должен создать массив, содержащий {1,2,3,4,99}
Что самый быстрый путь состоит в том, чтобы сделать так? Моя проблема состоит в том, чтобы считать несколько чисел без цикличного выполнения через целую строку, проверяющую, является ли это пространство или число?
Спасибо.
int i, size;
int *v;
scanf("%d", &size);
v = malloc(size * sizeof(int));
for(i=0; i < size; i++)
scanf("%d", &v[i]);
Не забудьте бесплатно (v)
после того, как закончите!
Кроме того, если по какой-то причине у вас уже есть числа в строке, вы можете использовать sscanf ()
scanf ()
- это своего рода боль в шее. Обратитесь к strtol ()
, чтобы узнать о таких проблемах, это очень упростит вашу жизнь.