Я пытаюсь получить целочисленный ввод, и я попробовал самый элементарный метод, который мог найти. Однако, когда что-то не является целым числом, оно застревает в бесконечном цикле. Я считаю, что это вызвано эффектом fgets. Я попробовал несколько решений, которые я нашел на этом сайте, но никто не работал. Код выглядит следующим образомЗастревание в бесконечном цикле фейсов
int getint()
{
int number;
char input[4];
fgets(input, 4, stdin);
while (atoi(input) < 0 || (strcmp(input, "0") != 0 && atoi(input) == 0))
printf("Insert a non negative number: ");
fgets(input, 4, stdin);
number = atoi(input);
printf("%d\n", number);
return number;
}
отступов не контролирует поток делает. –
У вас должны быть скобки для многострочных кодовых блоков. – Li357
@KerrekSB Python и Lua кажутся утечкой. – EOF