| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 697 人关注过本帖
标题:这个自加后是多少?
只看楼主 加入收藏
yuchin
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2010-5-7
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:12 
这个自加后是多少?
int t,a=4;
t=(++a)+(++a)+(++a)=?
我觉得t=18,但答案是21,在TC下运行是19,我摸不到头脑啊。
请各位说一下吧。谢谢哟。
搜索更多相关主题的帖子: 答案 
2011-03-10 13:48
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:2 

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-03-10 13:51
瓦药墙
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:218
专家分:556
注 册:2009-9-16
收藏
得分:2 
不同编译器, 有不同的算法
2011-03-10 15:03
feng_gutu
Rank: 2
来 自:汉水之滨
等 级:论坛游民
帖 子:32
专家分:31
注 册:2011-2-11
收藏
得分:2 
晕了,又这个问题。

缓慢而坚定
2011-03-10 15:47
刘定邦
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:687
专家分:1570
注 册:2010-9-21
收藏
得分:2 
先不要搞这么多++。 搞懂一个++就行啦。
2011-03-10 20:13
chenwei435
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:2
帖 子:322
专家分:1611
注 册:2010-11-28
收藏
得分:2 
其实很简单,没什么编译器的问题。因为我在很多编译器里试了。都是一样的结果。不行的话大家也可以试一下。
举个例子。
i=5;
t=(++i)+(i++)+(++i);
t是多少呢?
先算最后一个++i的i=6,再算中间的那个,得i=6,再算第一个得i=7,最后三个i相加得t=21. 此时i=8.
2011-03-10 20:47
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:2 
问你一下    你是怎么遇到这个问题的????

                                         
===========深入<----------------->浅出============
2011-03-10 22:06
king_kong
Rank: 2
来 自:山东
等 级:论坛游民
帖 子:71
专家分:55
注 册:2010-9-9
收藏
得分:2 
真是啊    我调啦半天也是19,第一个是5,但运行到第二个就变成12啦,也不知道什么问题,有哪位高手给讲明白一点
2011-03-10 22:19
yuchin
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2010-5-7
收藏
得分:0 
回复 7楼 laoyang103
二级笔试题。
2011-03-10 23:24
默默学习
Rank: 4
等 级:业余侠客
帖 子:134
专家分:200
注 册:2010-6-22
收藏
得分:2 
回复 楼主 yuchin
哥们,其实你这个问题我原来也思考过。
我问过老师,她说编译器不同,有的算法不一样。
但是,没问她之前,我发现了在VC++6.0里面的规律。
就是说, 先算两个自增值的改变懂吗。 超过两个以上后,一个自增就逐加一,再不影响其他同类名变量。
      (注意:还要注意下,是先用后加,还是先加后用哦!)
希望对你有帮助!仅是个人观点,若有错误,希望楼下指正批评.
2011-03-10 23:40
快速回复:这个自加后是多少?
数据加载中...
 
   



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

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