(2>3)&&(x=5)结果是1?(2<3)&&(x=5)结果是5?为什么?
4 回答
snowmanJS
TA贡献89条经验 获得超53个赞
逻辑运算符 && || 的运算顺序是从左往右,若左边的关系表达式就能判断整个逻辑表达式的结果,就不计算右边表达式;否则执行。这个称为短路。
(2>3) && (x=5) 左边2>3为假,所以整个表达式就为假,右边的表达式不执行。
asd8532
TA贡献143条经验 获得超187个赞
#include <stdio.h> int main(){ int x; printf("%d\n",(2>3)&&(x=5));//0 printf("%d\n",(2<3)&&(x=5));//1 return 0; }
#include <stdio.h> int main(){ int x=1; int y=(2>3)&&(x=5);//x=1,2<3已经为假了,后面的直接省略了不去计算了,加快程序的运行效率 int z=(2<3)&&(x=5);//x=5 return 0; }
- 4 回答
- 1 关注
- 2437 浏览
添加回答
举报
0/150
提交
取消