Как ввести количество элементов в массив, используя scanf ()? - PullRequest
0 голосов
/ 29 октября 2018

Есть ли способ ввода n входных данных в массив, где n не является фиксированным, используя scanf()?

scanf("%d %d %d %d ... n number of inputs", &array);

Проблема в том, что пользователь вводит размер массива, а формат ввода таков, что входы хранятся с использованием scanf в одной строке, поэтому он имеет вид

12 24 36 34 65 24 54 ... upto n inputs

Таким образом, первый %d сохраняется в array[0], второй в array[1], третий в array[2] и вплоть до array[n-1].

Для этого легко сделать цикл for, но я хочу сделать это в одной строке.

1 Ответ

0 голосов
/ 29 октября 2018

Не однострочный, но все еще короткий

while(i < n && scanf("%d", &array[i]) == 1)
    i++;

Вы всегда должны проверять возвращаемое значение функции scanf.
Не забудьте инициализировать i с 0

...