2014-02-13 38 views
1

我正在做一个家庭作业任务,并遇到了在我的while循环语句中使用AND运算符的问题。这里的问题的一个简单的例子:AND运算符在C语言中的while语句

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 ; 
} 

所以我想只要a和b是小于或等于10但while循环运行时,while循环作为一个走的是尽快结束上述10,如下所示: enter image description here

+3

_So我想while循环为运行只要BOTH a和b小于或等于10_。那么为什么你在'a'高于10时抱怨? –

回答

2

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

所以我想如果你想进入循环,如果while循环,只要A和B均小于 或等于10

运行任何的变量小于或等于10,则改为使用||

阅读更多关于Short-circuit evaluation以更好地了解此内容。

+0

感叹。不知道我怎么一直在看这个。我必须被阻止。谢谢。 – user3304654

0

while循环执行的正是你想要的:

while循环,只要运行为A和B均小于或等于10

while循环退出时第一条件(一个< = 10)是错误的。
你可能想重新考虑你的程序的逻辑。

0

只要改变你的病情时

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

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

由于OR条件为假,只有测试条件都是假的..