在循环条件下使用逻辑运算符

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' );

以上是关于在循环条件下使用逻辑运算符的主要内容,如果未能解决你的问题,请参考以下文章

python逻辑与循环方式

python循环语句

带有双条件和 || 的 While 循环Swift 中的逻辑运算符

python 流程控制

逻辑分支

微搭低代码JavaScript基础知识-循环和条件控制