| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1116 人关注过本帖
标题:[求助]gcc 4.1.1版与 gcc 3.4.4版,编译出不同结果。不知道gcc4.1.1是如何编 ...
取消只看楼主 加入收藏
kinglon
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2007-9-25
收藏
 问题点数:0 回复次数:3 
[求助]gcc 4.1.1版与 gcc 3.4.4版,编译出不同结果。不知道gcc4.1.1是如何编译。
main ()
{
int a=8;
printf("%d\t%d\t%d\n",++a,--a,a--);
int x=8;
printf("%d\t%d\n",++x,++x);
int i=8;
printf("%d\t%d\t%d\t%d\t%d\n",i--,--i,--i,i--,i++);
}

以上程序如果在gcc3.4.4版本下编译,结果就是我们认为正常的:
7 6 8
10 9
6 6 7 9 8
可是,如果在gcc4.1.1版本下编译,结果就是我们想不到的结果:
7 7 8
10 10
6 5 5 9 8
不知道为什么这两个编译器差这么多,gcc4.1.1是根据什么来编译以上代码呢?在3.4.4版>本上,我们知道他的从右往左计算的,可到了gcc4.1.1里面好像即不是从右往左算也不是从
左往右算,请高手赐教,谢谢。

搜索更多相关主题的帖子: gcc 编译 结果 
2007-11-15 12:37
kinglon
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2007-9-25
收藏
得分:0 
怎么没人回复,难道大家都没发现这个问题?
2007-11-15 17:59
kinglon
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2007-9-25
收藏
得分:0 
我们应该搞明白他的结果是怎么出来的吧?要不然怎么写代码?
2007-11-15 19:13
kinglon
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2007-9-25
收藏
得分:0 
如果在实际的工程中,我相信没人会写出这样的代码,我也不会。
现在我只是想知道这个gcc4.1.1是依什么样的规律来计算上面的代码的,只不过是想知道以上代码在GCC4.1.1里面的计算方向是什么样的,或是他的结果是怎么出来的,不知道有高手知道吗,谢谢。
(实际工程中,我也不会写出那样的代码,要不然我自己都会晕。。。虽然不会写出那样的代码,但是他的道还是应该弄明白的。)
2007-11-16 10:26
快速回复:[求助]gcc 4.1.1版与 gcc 3.4.4版,编译出不同结果。不知道gcc4.1.1是 ...
数据加载中...
 
   



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

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