整数入力を取得しようとしていますが、私が見つけた最も基本的な方法を試しました。しかし、何かが整数でないときはいつも、無限ループに陥ってしまいます。私はそれがfgetsの機能によって引き起こされたと信じています。私はこのサイトで見つけたいくつかのソリューションを試しましたが、うまくいきませんでした。無限の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