Ris*_* K. 4 c++ loops while-loop logical-operators do-while
在下面给出的代码中,为什么||
逻辑不起作用,而是循环在&&
使用时专门终止?
int main() {
char select {};
do {
cout<<"Continue the loop or else quit ? (Y/Q): ";
cin>>select;
} while (select != 'q' && select != 'Q'); // <--- why || (or) doesn't work here ??
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这个循环将继续,而select
不是q
,也不是Q
:
while (select != 'q' && select != 'Q');
Run Code Online (Sandbox Code Playgroud)
当select
is notq
或it's not时,此循环将继续Q
。
while (select != 'q' || select != 'Q');
Run Code Online (Sandbox Code Playgroud)
由于其中之一必须是真的,它就会永远持续下去。
例子:
q
select != 'q'
评价为false
select != 'Q'
评价为true
false || true
评价为true
Q
select != 'q'
评价为true
select != 'Q'
评价为false
true || false
评价为true