ここでCを学ぶ初心者プログラマー
私のコードの一部はユーザーに数値入力を要求し、入力された値が数値かどうかを確認するために while ループに入り、そうでない場合は while ループが入力をクリアし (無限ループを停止するため)、数値を要求します。また。
問題は、入力をクリアしてから while ループで再度 scanf() を要求すると、明らかに 2 回クリアされ、結果を得るために数値を再度入力する必要があることです。
問題のコードの一部を次に示します。
int askNum()
{
int number;
int check;
printf("Enter a number: ");
check = scanf("%d", &number);
while(scanf("%d", &number) != 1)
{
printf("You've entered an incorrect number.\nEnter a number: ");
fflush(stdin);
check = scanf("%d", &number);
}
return number;
}
誰かがこれを行う理由を説明できる場合は、説明するか、続行する方法についてのヒントを教えてください。
どうもありがとう!