在循环条件下使用逻辑运算符
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在循环条件下使用逻辑运算符相关的知识,希望对你有一定的参考价值。
在下面给出的代码中,为什么||
逻辑不起作用,而是当使用&&
时循环特别终止?
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;
}
答案
此循环将在select
不是q
时继续进行,并且不是Q
:
while (select != 'q' && select != 'Q');
select
不是q
的循环将继续进行,或不是Q
。
while (select != 'q' || select != 'Q');
由于其中一个必须为真,它将永远持续下去。
另一答案
当选择等于'q'
或'Q'
时,您想终止循环。
此条件可以写为
do {
cout<<"Continue the loop or else quit ? (Y/Q): ";
cin>>select;
} while ( not ( select == 'q' || select == 'Q' ) );
如果打开括号,您将得到
do {
cout<<"Continue the loop or else quit ? (Y/Q): ";
cin>>select;
} while ( not( select == 'q' ) && not ( select == 'Q' ) );
依次相当于
do {
cout<<"Continue the loop or else quit ? (Y/Q): ";
cin>>select;
} while ( select != 'q' && select != 'Q' );
以上是关于在循环条件下使用逻辑运算符的主要内容,如果未能解决你的问题,请参考以下文章