C++程序设计中,&&和||的优先级问题

2025年03月26日 05:58
有3个网友回答
网友(1):

&&是比||的优先级高,但是这里不一定就是先计算
这句输出里的式子可以理解为((x>y)||((++y)&&(++x))),这样就可以看出来,只要||左边的式子为真,后面的是不执行的。
参考:http://ham.iteye.com/blog/198039

网友(2):

C/C++在逻辑判断表达式上有个短路效应
A || B,当A为逻辑真时,整个表达式的值已经可以确定为真,B就不执行了
A && B,当A为逻辑假时,整个表达式的值已经可以确定为假,B就不执行了
这里x>y为真,所以后面的(++y)&&(++x)就不执行了。

网友(3):

因为“>”的优先级比“&&”高