AND运算符在C ++中的While语句中

时间:2014-02-13 05:59:20

标签: c++ while-loop

我正在做家庭作业,并且在我的while循环语句中使用AND运算符时遇到了问题。以下是该问题的简化示例:

int main()
{
int a = 4;
int b = 0;
int c;

while (a <= 10 && b <= 10) {
    cout << "a " << a << endl;
    cout << "b " << b << endl << endl;
    ++a;
    ++b;
    }
cout << "done" << endl;

return 0 ;
}

所以我希望while循环能够在a和b小于或等于10的情况下运行。但是,一旦a超过10,while循环就会结束,如下所示: enter image description here

3 个答案:

答案 0 :(得分:2)

如果a高于10,那么检查b是多余的,因为false && anythingfalse。但这就是你想要的:

  

所以我希望while循环能够运行,只要a和b都小于   或等于10

如果要在任何变量小于或等于10时进入循环,请改用||

详细了解Short-circuit evaluation以更好地理解这一点。

答案 1 :(得分:0)

while循环执行完全符合您的要求:

  

while循环运行,只要a和b小于或等于10

当第一个条件(a&lt; = 10)为假时,while循环退出 您可能想重新考虑您的计划的逻辑。

答案 2 :(得分:0)

只需改变你的状态

while (a <= 10 && b <= 10)

while (a <= 10 || b <= 10)

OR条件为假时,只有两个测试条件都为假。