请问大家为什么我只要输入错误后面就输入什么都说错误呢?

img

因为只要输入错误,错误的内容没有读取,还在输入缓存中.
下次再使用scanf时,输入缓存中还有内容.还是要从输入缓存中读取,而不是读取新输入的字符。
这样错误的内容还是不会读取,还在输入缓存中。就无限循环了

可以在用 scanf() 读取字符前用 setbuf(stdin, NULL); 清除输入缓存。

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img

代码语法不对建议检查一下