循环中条件的顺序

Order of conditions in a loop

本文关键字:顺序 条件 循环      更新时间:2023-10-16
While (condition-1 && condition-2) {
   // Do something
}

假设如果条件1失败,条件2可能会导致分段错误。那么,当条件1在检查条件2之前失败时,循环是否立即退出,或者它是否检查条件2,从而使这种做法不安全?

示例:Condition-1可以是'Node* temp != 0', condition-2可以是'temp->next != int i'

如果condition-1false,那么没有理由检查其他条件,因为false && anything仍然是false。这被称为短路评估。

反过来,如果我们有

While (condition-1 || condition-2) {
   // Do something
}

condition-1 == true,那么我们将永远不会检查condition-2,因为true || anything仍然为真。

考虑到您使用的是&&操作数,将永远不会检查第二个条件,因为集合条件不可能为真。

&&是一个条件语句,将检查第一个条件,如果它为真,将检查第二个条件。但如果它为假,它将退出循环而不检查第二个条件。