风落飘伤 于 2011-11-05 19:37:13发表:
7382973989
zx84123 于 2011-11-04 16:59:56发表:
[b][/b]这题跟优先级没关系的 ++x||++y&&++z || 和&& 的优先级是相同的 ; 由于x开始为0;经过++x之后为1 当 ||的前为真时 后面就不会做判断的了 所以 输出应该是 x1 = 1; y1 = 0; z1 = 0;
chuangjinweilai 于 2011-11-04 14:41:58发表:
额,以我的修为,目前还看不懂……
年年年 于 2011-10-19 17:28:14发表:
好!
郭世展 于 2011-10-19 10:30:56发表:
(6)m:b
linux_zmx 于 2011-10-19 10:27:16发表:
呵呵,,这道题目很容易做错。。不知道优先级的话。。
linux_zmx 于 2011-10-19 10:27:00发表:
wonderall 于 2011-10-18 08:45:39发表:
与和或运算只要前面成立就不会进行后面的运算了
yanyongkg 于 2011-10-17 23:54:44发表:
二楼解释得很详细 表达式1 || 表达式2 如果表达式1为真,则不会执行表达式2 所以x自加后为1,y z均没有执行自加操作 就这么简单!
wmqj 于 2011-10-17 20:47:30发表:
结果为什么是x1=1 y1=0 z1=0 我还是不太清楚 为什么不是 x1=1 y1=1 z1=1 越通俗越好 谢谢2# malei1987
malei1987 于 2011-10-17 14:28:39发表:
++x||++y&&++z; &&的优先级高于 ||,所以上面的式子等价于 ++x||(++y&&++z) 1. 执行++x , 如果x为真,转到步骤4, 整个表达式的值为真,也就是1 2. 执行++y,如果y为假,转到步骤4, 整个表达式的值为假,也就是0 3. 执行++z, 整个表达式的值的真假取决于z。 4. 结束。 x=0; y=0; z=0; 1. ++x, x的值为1 ,为真,转到步骤4, 结束; y,z的值不变。
风落飘伤 于 2011-11-05 19:37:13发表:
7382973989
zx84123 于 2011-11-04 16:59:56发表:
[b][/b]这题跟优先级没关系的 ++x||++y&&++z || 和&& 的优先级是相同的 ;
由于x开始为0;经过++x之后为1 当 ||的前为真时 后面就不会做判断的了 所以 输出应该是 x1 = 1;
y1 = 0; z1 = 0;
chuangjinweilai 于 2011-11-04 14:41:58发表:
额,以我的修为,目前还看不懂……
年年年 于 2011-10-19 17:28:14发表:
好!
郭世展 于 2011-10-19 10:30:56发表:
(6)m:b
linux_zmx 于 2011-10-19 10:27:16发表:
呵呵,,这道题目很容易做错。。不知道优先级的话。。
linux_zmx 于 2011-10-19 10:27:00发表:
呵呵,,这道题目很容易做错。。不知道优先级的话。。
wonderall 于 2011-10-18 08:45:39发表:
与和或运算只要前面成立就不会进行后面的运算了
yanyongkg 于 2011-10-17 23:54:44发表:
二楼解释得很详细
表达式1 || 表达式2
如果表达式1为真,则不会执行表达式2
所以x自加后为1,y z均没有执行自加操作
就这么简单!
wmqj 于 2011-10-17 20:47:30发表:
结果为什么是x1=1 y1=0 z1=0
我还是不太清楚 为什么不是 x1=1 y1=1 z1=1 越通俗越好 谢谢2# malei1987
malei1987 于 2011-10-17 14:28:39发表:
++x||++y&&++z;
&&的优先级高于 ||,所以上面的式子等价于 ++x||(++y&&++z)
1. 执行++x , 如果x为真,转到步骤4, 整个表达式的值为真,也就是1
2. 执行++y,如果y为假,转到步骤4, 整个表达式的值为假,也就是0
3. 执行++z, 整个表达式的值的真假取决于z。
4. 结束。
x=0;
y=0;
z=0;
1. ++x, x的值为1 ,为真,转到步骤4, 结束; y,z的值不变。