Я пытаюсь написать программу на C, которая принимает n
как целочисленный ввод, а затем вводит строки n
. Проблема в том, что когда я запускаю программу, она принимает один вход меньше n
. Если я вхожу в 1
в качестве первого ввода, программа просто заканчивается. Вот код:Проблемы при вводе строк в C
int n;
scanf("%d", &n);
char str[101];
while (n--) {
fgets(str, 101, stdin);
// other stuff...
}
Что я здесь делаю неправильно?
Примечание: Лучше использовать 'fgets (ул, SizeOf, ул STDIN);' 1) должно быть 101 не 100 и 2) избежать магических чисел. +1 для «лучше использовать fgets() для всех входов». – chux