我有一个关于使用无效返回的 scanf 的问题。这是我正在测试的代码片段:
printf("Please enter a number\n");
while (scanf("%d",&number)==0)
{
printf("Try again.\n");
scanf("%d",&number);
}
我的推理表明,如果使用了无效类型,我的第二个 scanf 应该再次询问并测试新输入的值。但是,情况并非如此,再试一次消息永远不会停止打印,因此我必须手动终止它。我不确定为什么会这样。如果可能的话,我不想在 while 循环之前使用 scanf,尽管我知道这是一种可能的解决方法。对于此事,我将不胜感激。谢谢。