While (condition-1 && condition-2) {
// Do something
}
假设如果条件-1失败,条件-2可能会导致分段错误。那么,一旦条件1在检查条件-2之前失败,或者它是否检查它,环路是否会立即退出,这使得这种做法不安全?
Ex:条件-1可能是'Node * temp!= 0',条件-2可能是'temp-> next!= int i'
答案 0 :(得分:3)
如果condition-1
为false
,则没有理由检查其他条件,因为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
是条件语句将检查第一个条件,如果它是真的,它将检查第二个条件。但如果它是假的,它会在没有检查第二个条件的情况下退出循环。