论坛: 编程破解 标题: 呵呵又要麻烦大家了 复制本贴地址    
作者: 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号