标题:看似简单的程序啊~!
只看楼主
moonwalker
Rank: 1
等 级:新手上路
威 望:1
帖 子:909
专家分:2
注 册:2007-3-2
得分:0 
想不到这个帖还活着!

“视频教程网”免费提供教学资源
C不限制你的自由!
条件是自己承担滥用自由的恶果!
2008-05-01 21:58
haha_168
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2008-4-3
得分:0 
确实是90,我也运行了一下 !
2008-05-01 22:24
game143
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2008-5-1
得分:0 
根据优先级和结合律,i=(i+=5)+(i=i*3);
先算左边括号里的(i+=5)等价于 (i=10+5),重新赋值之后i的值为15。
在算右边括号里的(i=i*3)等价于(i=15+5),重新赋值之后i的值为45。
计算到这里,(i=10+5)里边的i的值已经由15变为45了。
所以最后,i=45+45,i为90。
2008-05-01 22:31
雨中飛燕
Rank: 1
等 级:新手上路
帖 子:765
专家分:0
注 册:2007-10-13
得分:0 
让他继续活下去吧~~~~~


[color=white]
2008-05-01 22:32
moonwalker
Rank: 1
等 级:新手上路
威 望:1
帖 子:909
专家分:2
注 册:2007-3-2
得分:0 
继续活着也好。。。,可以做反面教材
不过如果我写了这种不确定结果的代码,就算不被炒也要罚款。。

“视频教程网”免费提供教学资源
C不限制你的自由!
条件是自己承担滥用自由的恶果!
2008-05-01 23:10
c_club
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2008-4-1
得分:0 
最初i=10;
然后执行i+=5;得到i=15,接着在执行i=i*3得到i=45;
最后进行加法运算得到i=90
2008-05-01 23:43
yt414204458
Rank: 2
等 级:论坛游民
帖 子:260
专家分:55
注 册:2008-3-1
得分:0 
说的这些不确定是因为不同的环境不同会有不同的结果 吧,但很多人都是刚学,知道在TC中的答案有什么不好啊

一切从爱C开始
2008-05-02 11:01
snakelgz
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2008-5-2
得分:0 
呵呵……我也是刚学C的……,这些以小见大的问题对我们初学者确实有用那
2008-05-02 11:14
中学者
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:20
帖 子:3554
专家分:80
注 册:2007-9-14
得分:0 
问题已经最大化了,就是标准规定的求值顺序不确定性/

樱花大战,  有爱.
2008-05-02 11:16
c_acceleration
Rank: 1
等 级:新手上路
帖 子:101
专家分:0
注 册:2008-4-28
得分:0 
‘i’上的运算结果可能是未定义的

都喜欢拿词法陷阱的题的题。。。
Andrew Koenig比你们更强。。。

天道酬勤
2008-05-02 11:28



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-211793-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.509834 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved