循环中的条件顺序

时间:2015-10-20 18:06:42

标签: java c++

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

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

Ex:条件-1可能是'Node * temp!= 0',条件-2可能是'temp-> next!= int i'

3 个答案:

答案 0 :(得分:3)

如果condition-1false,则没有理由检查其他条件,因为false && anything仍为false。这称为Short Circuit Evaluation

相反,如果我们有

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

condition-1 == true然后我们永远不会检查condition-2,因为true || anything仍然是真的。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

output是条件语句将检查第一个条件,如果它是真的,它将检查第二个条件。但如果它是假的,它会在没有检查第二个条件的情况下退出循环。