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)
当selectis notq 或it's not时,此循环将继续Q。
while (select != 'q' || select != 'Q');
Run Code Online (Sandbox Code Playgroud)
由于其中之一必须是真的,它就会永远持续下去。
例子:
qselect != 'q'评价为false
select != 'Q'评价为true
false || true评价为true
Qselect != 'q'评价为true
select != 'Q'评价为false
true || false评价为true