| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 504 人关注过本帖
标题:[求助]请帮忙解释一个问题
只看楼主 加入收藏
二C在线
Rank: 1
来 自:山东济南
等 级:新手上路
帖 子:8
专家分:9
注 册:2009-5-19
结帖率:0
收藏
已结贴  问题点数:10 回复次数:9 
[求助]请帮忙解释一个问题
main()
{ int a=1,b;
b=a++*a++;
  printf("%d\n",b);
  getch();
}
这样输出是1。
 main()
{ int a=1,b;
  printf("%d\n",b=a++*a++);
  getch();
}
这样输出却是:2。
请教这两个有什么区别呢,为什么会出现不一样的结果?

搜索更多相关主题的帖子: 解释 
2009-09-07 10:01
jammyzm
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:90
专家分:126
注 册:2008-12-1
收藏
得分:2 
这样的问题没意思,不同编译器结果可能不同,我的结果都是1
2009-09-07 10:06
二C在线
Rank: 1
来 自:山东济南
等 级:新手上路
帖 子:8
专家分:9
注 册:2009-5-19
收藏
得分:0 
是啊,我也知道这和编译器有关,我是想同一个编译器应该给出的答案是一样的啊。可为什么在同一个编译下会得两个不同的答案呢?难道这和Printf()本身的解释顺序有关?

请问楼上,您用的是什么编译器啊,是VC6.0吗?
2009-09-07 10:12
jammyzm
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:90
专家分:126
注 册:2008-12-1
收藏
得分:0 
我的是C-FREE
2009-09-07 10:31
二C在线
Rank: 1
来 自:山东济南
等 级:新手上路
帖 子:8
专家分:9
注 册:2009-5-19
收藏
得分:0 
哦,没用过,是和TC类似吗,这段程序在WinTC下也是一个1,一个2。我用的VC6.0。
按说都是自右向左算,且都是先用后加,应该得出的结果一致才是啊。真奇怪啊
2009-09-07 10:34
二C在线
Rank: 1
来 自:山东济南
等 级:新手上路
帖 子:8
专家分:9
注 册:2009-5-19
收藏
得分:0 
还有人帮忙看下吗 谢谢!
2009-09-07 15:49
jimmywood
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:30
专家分:109
注 册:2009-8-10
收藏
得分:2 
以下是引用jammyzm在2009-9-7 10:06的发言:
这样的问题没意思,不同编译器结果可能不同

同意 不要写这样的语句
2009-09-07 16:22
cuixingasd
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:54
专家分:135
注 册:2009-3-24
收藏
得分:2 
这个可能和入栈有关系!
2009-09-07 16:26
atom_09
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:92
专家分:141
注 册:2009-8-24
收藏
得分:2 
编译器不同 输出的结果不同
2009-09-07 16:50
liyandong106
Rank: 2
等 级:论坛游民
帖 子:21
专家分:35
注 册:2009-9-4
收藏
得分:2 
我的用gcc编译的 , 结果都是1
2009-09-07 17:02
快速回复:[求助]请帮忙解释一个问题
数据加载中...
 
   



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

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