请升级到MicrosoftEdge以使用最新的功能、安全更新和技术支持。
logical-and-expression?equality-expressionlogical-and-expression&&equality-expression
如果两个操作数都是true,则逻辑“与”运算符(&&)返回true,否则返回false。操作数在计算之前隐式转换为类型bool,结果的类型为bool。逻辑“与”具有从左到右的关联性。
逻辑“与”运算符的操作数不需要具有相同的类型,但它们必须是布尔值、整数或指针类型。操作数通常为关系或相等表达式。
第一个操作数将完全计算,在逻辑“与”表达式继续进行计算前将完成所有副作用。
仅当第一个操作数的计算结果为true(非零)时,才会计算第二个操作数。当逻辑“与”表达式为false时,这种计算方式可消除不必要的对第二个操作数的计算。可以使用此短路计算防止null指针取消引用,如以下示例所示:
char*pch=0;//...(pch)&&(*pch='a');如果pch为null(0),则从不计算表达式的右侧。这种短路计算使得无法通过空指针赋值。
THE END