在用switch时,发现输入字符变量时死循环
这时候我们需要清空cin中的缓冲区
解决方案:
cin.clear(); //如果输入字符型,将会出现switch死循环,所以我们要清楚缓冲区,用
cin.ignore(9999,'\n'); //clear清除错误状态,然后再用ignore清除缓冲区。
当在C++程序中使用switch语句处理字符输入时,可能会遇到死循环的情况。这通常由于cin缓冲区未正确清空导致。解决这个问题的关键步骤包括使用cin.clear()清除错误状态,然后利用cin.ignore()函数丢弃缓冲区中的剩余字符,例如:cin.ignore(9999,'
')。这样可以确保后续输入的正确处理,避免程序陷入无限循环。
在用switch时,发现输入字符变量时死循环
这时候我们需要清空cin中的缓冲区
解决方案:
cin.clear(); //如果输入字符型,将会出现switch死循环,所以我们要清楚缓冲区,用
cin.ignore(9999,'\n'); //clear清除错误状态,然后再用ignore清除缓冲区。
570

被折叠的 条评论
为什么被折叠?