LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 823|回复: 7

各位大哥帮忙啊,很奇怪的问题

[复制链接]
发表于 2007-8-23 11:56:46 | 显示全部楼层 |阅读模式
[code]
int a = 1;
int c = 0;
int d = 0;
d= ++a  +  c++  +  a++  +   ++c  +  c++ + ++a;
d=多少啊?
我在vc下运行等于9,但不知道为什么?希望高手指点,先谢谢了
 楼主| 发表于 2007-8-23 14:13:25 | 显示全部楼层
怎么,没有人回答啊,我开始也以为很简单的,就是先自加,再运算,或者先运算后自加的问题,但好象不是,还请高手,花3分钟看看!我刚开始也以为很简单的
回复 支持 反对

使用道具 举报

发表于 2007-8-23 16:24:20 | 显示全部楼层
d = 2 + 0 + 1 + 2 + 0 + 4
回复 支持 反对

使用道具 举报

发表于 2007-8-23 16:35:40 | 显示全部楼层
好无聊。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-8-23 17:18:52 | 显示全部楼层
谁能告诉我为什么?
回复 支持 反对

使用道具 举报

发表于 2007-8-23 19:10:14 | 显示全部楼层
最简单的,看看编译出来的汇编代码就知道是怎么回事了。

不过讨论这个没啥意义,本身就是个未定义的行为,各个编译器实现的都不见得一样。
回复 支持 反对

使用道具 举报

发表于 2007-8-23 19:19:29 | 显示全部楼层
运行的环境不一样,出来的结果也可能不一样的。
搞这些没啥意思的,也没什么必要把表达式写的这么复杂吧,看着就犯晕.
呵呵。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-8-23 21:02:21 | 显示全部楼层
正式结贴,谢谢以上各位的回答!再次感谢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表