2014-02-13 72 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條件爲假,只有測試條件都是假的..