如果在这段代码中输入了一个或更多字符,我将如何清除缓冲区。
int x = 1;
float grade = 0.0;
do
{
printf ("Enter a grade for quiz %d: ", x);
scanf ("%f", grade);
if (grade >= 1 && grade <= 10) break;
printf ("Entry not valid. Please try again\n");
} while (1);
我的导师坚持我们使用 fflush(stdin)。我知道这行不通,所以我打电话给他。我还有什么其他方法可以验证是否输入了数字。