
|
作者: cash [cash]
论坛用户 |
登录 |
| x=y=z=-1 ++x&&++y||++z 为什么在运算后会变成 x=0 y=-1 z=0 应该当算到X等于零时后面的就不应该算了啊 这样的话Z应该等于-1而不应该是0 这是怎么回事啊 |
| 地主 发表时间: 05/13 13:13 |
回复: cimsxiyang [cimsxiyang] 版主 |
登录 |
|
只是++y不计算 |
| B1层 发表时间: 05/13 13:26 |
回复: 山鸡 [duck_chen] 论坛用户 |
登录 |
|
送给你一条规则: 逻辑与运算前为0不必运算后面的算术运算,因为计算机认为其值肯定为0;逻辑或运算前为1不必运算后面的算术运算,因为计算机认为其值肯定为1。 你的式子是:x=y=z=-1;++x&&++y||++z; 那么x肯定是先自加再进行逻辑运算,其值为0是肯定的。 那么后面的算术运算++y系统就没有运算了,因此y的值保留,还为-1,因为系统默认0&&R(R可为表达式)的值为0。但是进行逻辑或运算时,由于前面的值为0而不是1,所以要继续运算后面的式子。因此z为0,现在知道了吗? |
| B2层 发表时间: 05/14 01:44 |
回复: xjy1234 [xjy1234] 论坛用户 |
登录 |
|
++x && ++y || ++z 当++x执行后它的值就是0了是假的,&&是怎么定义的啊,有一个为假就全都 是假,所以程序执行玩++x后就不执行后面的了因为它已经可以确定定这个表达式的值了 |
| B3层 发表时间: 06/08 05:13 |
回复: cainiao110 [cainiao110] 论坛用户 |
登录 |
|
那请问这个表达式与x++&&y++||z++的运算和输出有什么区别? |
| B4层 发表时间: 06/08 11:18 |
回复: changfeng [changfeng] 论坛用户 |
登录 |
|
X++是先赋值在自增 ++X是先自增再赋值 |
| B5层 发表时间: 06/08 21:10 |
回复: yjfwindows [yjfwindows] 论坛用户 |
登录 |
|
这有什么用呀。。。。没有太大的实用价值。 |
| B6层 发表时间: 06/09 14:26 |
|
20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号