Во-первых, это умеренно тяжелая работа, чтобы заставить scanf()
читать целые строки. Тебе лучше использовать fgets()
для работы. Вы также должны убедиться, что у вас достаточно памяти для каждой строки для чтения.
Обратите внимание, что scanf("%s",...)
означает чтение символов до первого пробела (грубо говоря, слово, а не строка, если строка не состоит из одного слова).
Я мог бы написать:
enum { MAX_LINES = 10, MAX_LINESIZE = 256 };
char array[MAX_LINES][MAX_LINESIZE];
int i = 0;
while (i < MAX_LINES && fgets(array[i], sizeof(array[i]), stdin) != 0)
i++;