(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 关注
- 2612 浏览
添加回答
举报
0/150
提交
取消
