我认为这个很简单,但我无法弄清楚问题是什么。问题是:
如果有效:
char input;
do {
cin >> input;
} while (input != '1');
system ("pause");
然后,为什么不这样做:
char input;
do {
cin >> input;
} while ((input != '1') || (input != '2'));
system ("pause");
提前致谢。
答案 0 :(得分:8)
(input != '1') || (input != '2')
此表达式始终评估为true
,因为input
不能同时为'1'
和'2'
。
您更有可能希望使用&&
:将||
替换为&&
,如果true
不是input
,则表达式将评估为'1'
{1}}也不'2'
。