猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
求助大神c语言问题(2>3)&&(x=5)结果是1?(2<3)&&(x=5)结果是5?为什么?
(2>3)&&(x=5)结果是1?(2<3)&&(x=5)结果是5?为什么?
帝国神鹰
浏览 2438
回答 4
4回答
snowmanJS
逻辑运算符 && || 的运算顺序是从左往右,若左边的关系表达式就能判断整个逻辑表达式的结果,就不计算右边表达式;否则执行。这个称为短路。 (2>3) && (x=5) 左边2>3为假,所以整个表达式就为假,右边的表达式不执行。
1
0
0
asd8532
#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; }
1
0
3
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
C
typedef入门问题
1 回答
C++
typedef入门问题
1 回答
C#
typedef入门问题
1 回答
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续