While (condition-1 && condition-2) {
// Do something
}
假設條件-1失敗,條件-2可能會導致分段錯誤。那麼,即使在檢查條件-2之前條件-1失敗,循環會立即退出還是無論如何檢查它,這使得這種做法不安全?循環中的條件順序
例如:條件1可以是 '!節點*溫度= 0' 和條件2可以是 '!TEMP->下一= INT I'
While (condition-1 && condition-2) {
// Do something
}
假設條件-1失敗,條件-2可能會導致分段錯誤。那麼,即使在檢查條件-2之前條件-1失敗,循環會立即退出還是無論如何檢查它,這使得這種做法不安全?循環中的條件順序
例如:條件1可以是 '!節點*溫度= 0' 和條件2可以是 '!TEMP->下一= INT I'
考慮到要使用的操作數&&
,第二條件永遠不會被檢查,因爲集體條件永遠不會成立。
&&
是一個條件語句將檢查第一個條件,如果它是真的,它會檢查第二個條件。但是如果它是假的,它將退出循環而不檢查第二個條件。
'&'是一個按位邏輯(算術)運算符,不是布爾運算符。 – rici
啊,你是對的,對不起。 –
如果condition-1
是false
那麼沒有理由檢查其他條件爲false && anything
仍然是false
。這叫做Short Circuit Evaluation。
反之,如果我們有
While (condition-1 || condition-2) {
// Do something
}
和condition-1 == true
那麼我們就永遠不會檢查condition-2
作爲true || anything
仍然是正確的。
如果條件1失敗,條件2將不會被檢查,因爲AND。遇到「FALSE」時,沒有任何事情可以使條件成立TRUE – CubeJockey
如果條件1失敗,則不會檢查第二個條件&&。並且循環將退出 – SacJn
如果&&被替換爲||,第一個失敗的第二個條件是否會失敗? – Chanakya