| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2805 人关注过本帖
标题:一道简单到变态的题目,我竟然不会,求助
只看楼主 加入收藏
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
我认为是23 24  不过输出结果是23 23
根据++运算符重载的实现是
先保存当前值到一个临时变量里面
然后把当前值加1  返回值是那个临时变量
所以第一个输出的是++函数返回值23 此时a应该变成24了
这个应该没有问题
但是第二个如果和第一个一样的话应该是24   这是我的理解 如果理解不到位还请各位大侠赐教
  

                                         
===========深入<----------------->浅出============
2010-12-06 17:43
aiyinsitan
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:183
专家分:177
注 册:2010-4-22
收藏
得分:0 
VC6.0 是23 23
2010-12-06 17:47
Crocodile_JX
Rank: 5Rank: 5
等 级:职业侠客
帖 子:161
专家分:335
注 册:2010-9-13
收藏
得分:0 
这种不同的机器有不同的结果了...结果不一样的了
2010-12-06 17:48
xzy199999
Rank: 4
等 级:业余侠客
帖 子:326
专家分:286
注 册:2010-11-19
收藏
得分:0 
可是输出怎么会是23,23呢?

我是初学者
2010-12-06 17:49
Crocodile_JX
Rank: 5Rank: 5
等 级:职业侠客
帖 子:161
专家分:335
注 册:2010-9-13
收藏
得分:0 
三种结果都有可能
2010-12-06 17:49
xshy2051
Rank: 2
等 级:论坛游民
帖 子:27
专家分:33
注 册:2010-9-16
收藏
得分:0 
“不同系统的处理方法不尽相同。”谭浩强第三版C程序设计第59页上对类似问题是这么解释的!
2010-12-06 18:06
人生本是如此
该用户已被删除
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2010-12-06 19:30
zghnxzdcx
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:550
专家分:1176
注 册:2010-4-6
收藏
得分:0 
这样的语句应该尽量避免

你永远不可能战胜一个纯傻子,因为他会把你的智商拉到和他同一个水平,然后用他的丰富经验打败你。
2010-12-06 19:31
xingchi523
Rank: 2
等 级:论坛游民
帖 子:34
专家分:11
注 册:2010-11-6
收藏
得分:0 
回复 8楼 五当家
编译器不同是不是决定的只是printf函数运算顺序?那么不管是从左向右还是从右向左应该是两个不同的值啊,为什么我的VC++6.0运行结果是23,23???
2010-12-06 19:47
slowlyzl
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:85
专家分:170
注 册:2010-10-20
收藏
得分:0 
淡定大家 至少这题告诉了我们写代码时不要有歧义
至于结果 不同的编译器不一样嘛 没必要深究啦
2010-12-06 20:16
快速回复:一道简单到变态的题目,我竟然不会,求助
数据加载中...
 
   



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

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