黑马程序员技术交流社区
标题:
关于逻辑运算符的问题!
[打印本页]
作者:
黑客大王
时间:
2015-5-19 21:36
标题:
关于逻辑运算符的问题!
int x,y,z;
x=y=z=0;
++x || ++y && ++z; 这个题Y为什么等于0 我自己弄了好久都是1
作者:
yi95392
时间:
2015-5-19 22:22
++x 为1,真 || 任意值 都为真,所以后面就不执行了,++y根本没执行,所以y = 0;
作者:
追随自然
时间:
2015-5-19 22:28
借用大师的话说,这是逻辑短路!
作者:
宋兴1228
时间:
2015-5-19 23:24
借用大师的话说,这是逻辑短路!
作者:
Never_Yg
时间:
2015-5-20 08:53
2楼正解,我也学习到了
作者:
cogddo
时间:
2015-5-20 09:16
就是逻辑运算符的短路规则,,(++x) = 1, 所以就不预算 ++y了,,再运算 ++z
作者:
刘雨轩1314
时间:
2015-5-20 09:22
楼上正解,执行了++x就没有在执行了,
作者:
Emma
时间:
2015-5-20 09:33
算这个你得准备优先级表的,搜索一下优先级表,不用死记,碰到这种题,就参照表来算,其实这个挺简单的
作者:
李闯
时间:
2015-5-20 22:33
这道题 只有++x执行了
作者:
shao
时间:
2015-5-20 23:02
二楼正解。。。。。。。。。
作者:
天是蓝色的
时间:
2015-5-20 23:07
哦,这是个内成规定,,是同一优先级别,程序执行从左到右,第一个是或,一真即真,后面不予考虑
作者:
lyricdon
时间:
2015-5-20 23:14
因为++x已经为真,逻辑或后面就不会运行了
作者:
hehelaicaicai
时间:
2015-5-21 07:16
二楼正解,刚开始我也算Y了 看了解释才恍然大悟
作者:
Rdxer
时间:
2015-5-21 09:03
(++x) ||( ++y && ++z); 这里涉及到最短路的问题, ++x 为真,后面的就不用执行了
作者:
Huylens
时间:
2015-5-21 09:07
只执行了++x操作,所以y为0
作者:
sdzwb89
时间:
2015-5-21 09:11
学习了~~感谢分享!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2