在这个循环中,用户应该输入一个int
,如果它是奇数,程序将进入下一部分。但我不明白为什么如果用户输入的不是int
字符,程序就会陷入无限循环!
int num;
do {
cout << "PLEASE enter the num: ";
cin >> num;
if (num % 2 == 0)
cout << "Number should be odd!" << endl;
else
break;
} while (true);
//...
因为无论如何 char/int != 0
,如果它是==0
,它也应该在下一个cin
处停止,但它不会停止!我也尝试了ws(cin)
,但它没有帮助我。请告诉我如何解决这个问题,以及为什么会发生这种情况。