因为只要输入错误,错误的内容没有读取,还在输入缓存中.下次再使用scanf时,输入缓存中还有内容.还是要从输入缓存中读取,而不是读取新输入的字符。这样错误的内容还是不会读取,还在输入缓存中。就无限循环了
可以在用 scanf() 读取字符前用 setbuf(stdin, NULL); 清除输入缓存。
如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!
代码语法不对建议检查一下