论坛: 编程破解 标题: 有人知道这个的答案是怎么出来的吗?? 复制本贴地址    
作者: cash [cash]    论坛用户   登录
d=0;
a=b++=c++=d++;


最后用机子运行算出a=2
谁知道是怎么算出来的啊

地主 发表时间: 05/13 08:18

回复: cimsxiyang [cimsxiyang]   版主   登录
d=0;
c++=d++;
b++=c;
a=b;


B1层 发表时间: 05/13 08:34

回复: top [top]   论坛用户   登录
D=0 
C=1
B=2
A=2
是不是这样?




[此贴被 偃月狂刀(top) 在 5月13日12时32分 编辑过]

B2层 发表时间: 5/13 12:33

回复: cimsxiyang [cimsxiyang]   版主   登录
不是
d=1

B3层 发表时间: 05/13 13:02

回复: cash [cash]   论坛用户   登录
谢谢了我知道了

B4层 发表时间: 05/13 13:04

回复: top [top]   论坛用户   登录

知道了



[此贴被 偃月狂刀(top) 在 5月13日13时52分 编辑过]

B5层 发表时间: 5/13 13:23

回复: cash [cash]   论坛用户   登录
是啊。。是有二个答案。。我也晕了。。
好象是序列点的不同。
要是以 a=b++=(c++=d++) 来算应该是二
可是要以 a=b+(+=c+(+=d++) ) 来算就又应该是三
天啊我又晕了

B6层 发表时间: 05/13 13:23

回复: top [top]   论坛用户   登录
D本来是0
++过后为1 所以D为1

此时C=0  
C++后为1   所以C为1

然后C给B
B为1
B++后为2  所以B=2

结果就是2了!  我也是才搞明白的!


B7层 发表时间: 05/13 13:29

回复: cash [cash]   论坛用户   登录
晕。。。楼上的你是明白了把我转晕了
本来我明白了。。现在是北在哪啊。。。

B8层 发表时间: 05/13 13:31

回复: top [top]   论坛用户   登录
呵呵~!


找夕阳吧,他说得清楚些!

B9层 发表时间: 05/13 13:37

回复: fatcat [xu09]   论坛用户   登录
我觉得D=0才对
因为他是先赋值后才自增的啊。

B10层 发表时间: 05/13 16:31

回复: cimsxiyang [cimsxiyang]   版主   登录
不管是先增还是后增,当这条语句结束了,都是要增加的,不是吗?

B11层 发表时间: 05/13 17:03

论坛: 编程破解

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号