社区
C语言
帖子详情
求助逻辑与比逻辑或优先级的问题
fujing0103
2010-05-13 05:23:46
int a=0,b=5;
(a<b)||(a=b)&&(b=15);
执行后a=_____;b=_______;
结果为a=0;b=5;
请高手帮忙分析一下。为什么先算a<b呢?逻辑与比逻辑或优先级高啊!
...全文
411
8
打赏
收藏
求助逻辑与比逻辑或优先级的问题
int a=0,b=5; (a<b)||(a=b)&&(b=15); 执行后a=_____;b=_______; 结果为a=0;b=5; 请高手帮忙分析一下。为什么先算a<b呢?逻辑与比逻辑或优先级高啊!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
kensun0
2010-05-13
打赏
举报
回复
(a<b)||(a=b)&&(b=15);
&&优先级为11
||优先级为12
"与"优先级高,所以变成(a<b)||((a=b)&&(b=15)); 因为(a<b)为真,没进行后面计算。
zrcvic
2010-05-13
打赏
举报
回复
把这个式子拆分一下:
原式 := XXX || YYY // A
XXX := a < b
YYY := MMM && NNN
MMM := (a = b)
NNN := (b = 15)
优先级的意思是,虽然没有打括号,但是运算的时候就好像打了括号的。打完括号后,发现整个式子就是上面A式那样的了。
hewenkang
2010-05-13
打赏
举报
回复
(1) 先算括号内,(a<b)=1
(2) &&优先级比||高,所以这个表达式的值由||的左右两部分确定
(3) ||的运算法则是,如果左操作数为1,则不计算右操作数,结果为1。所以(a=b)、(b=15)两个赋值都没执行
所以a=0,b=5
zjs2010
2010-05-13
打赏
举报
回复
[Quote=引用 3 楼 zrcvic 的回复:]
(a<b)||(a=b)&&(b=15),按照标准,应该先计算a < b,得到1(true)。然后由于短路求值的性质,||的右边通通不予计算,所以这句的意思就相当于(void)(a < b),根本不改变a和b的值。
[/Quote]
我错了。。
由& &与| |连接的表达式从左至右计算,并且一旦知道结果的真假值就立即停止计算
vanchristin
2010-05-13
打赏
举报
回复
[Quote=引用 1 楼 caojengineer 的回复:]
||、&&优行级相同。从左到右开始,所以先算a<b
[/Quote]
&&优先级比||高吧?
短路法则,a<b 为真,表达式为真,不再计算后面的
zrcvic
2010-05-13
打赏
举报
回复
(a<b)||(a=b)&&(b=15),按照标准,应该先计算a < b,得到1(true)。然后由于短路求值的性质,||的右边通通不予计算,所以这句的意思就相当于(void)(a < b),根本不改变a和b的值。
zjs2010
2010-05-13
打赏
举报
回复
先括号的。。。。
__Jun__
2010-05-13
打赏
举报
回复
||、&&优行级相同。从左到右开始,所以先算a<b
对网友
求助
问题
的几个回帖展示之三十八
本文一例为网上一网友的
求助
帖,该
求助
帖是有一定难度,是一篇能锻炼与提高PLC编程思维与技巧的好帖。本人对此帖要求进行分析,找出了一种如何分拣其3中零件的编程思路,并按此思路选用S7-200PLC进行编程。现将此贴的编程思路及程序贴出,展示给大家,供大家分析讨论。
求助
帖:就是浙江天煌科技那种光机电气一体化试验台,有金属零件,白色尼龙零件,黑色尼龙零件。要求A出口的零件按金属、白色、金属、白色的顺序排列,B出口的零件按白色、黑色、黑色排列,同时满足A出口和B出口的零件优先进入A出口,不满足组合排列关系的零件进入C出口。
基于FPGA病房呼叫系统
一、设计(论文)内容 1. 用1~5个开关模拟5个病房的呼叫输入信号,1号
优先级
最高;1~5
优先级
依次降低; 2. 用一个数码管显示呼叫信号的号码;没信号时显示0;有多个信号呼叫时,显示
优先级
最高的呼叫号(其他呼叫用指示灯显示); 3. 凡有呼叫发出5秒的呼叫声; 4. 对低
优先级
的呼叫进行存储,处理完高
优先级
的呼叫,再进行低
优先级
呼叫的处理(附加)。
设计一个病人呼叫大夫的电路.doc
设计一个病人呼叫大夫的电路.doc
数电课程设计病床呼叫系统.docx
数电课程设计病床呼叫系统.docx数电课程设计病床呼叫系统.docx数电课程设计病床呼叫系统.docx数电课程设计病床呼叫系统.docx数电课程设计病床呼叫系统.docx数电课程设计病床呼叫系统.docx数电课程设计病床呼叫系统.docx数电课程设计病床呼叫系统.docx数电课程设计病床呼叫系统.docx
病房呼叫系统设计报告.doc
病房呼叫系统设计报告.doc
C语言
70,037
社区成员
243,246
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章