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