| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1552 人关注过本帖
标题:请教:下题的结果为什么是3,28??
取消只看楼主 加入收藏
xyzyangxu
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-6-21
收藏
 问题点数:0 回复次数:3 
请教:下题的结果为什么是3,28??

#define MIN(x,y) (x)>(y)?(x):(y)
#define T(x,y,r) x*r*y/4
main()
{
int a=1,b=3,c=5,s1,s2;
s1=MIN(a=b,b-a);
s2=T(a++,a*++b,a+b+c);
printf("%d,%d",s1,s2);
}


按本人的推论:
MIN宏展开后:s1=(a=b)>(b-a)?(a=b):(b-a)
即: (a=3)>(3-1)>(a=3):(3-1)
所以:s1=a=3

T宏展开后:s2=a++*a+b+c*a*++b/4
即: 3*4+4+5*4*3/4
得: 31

不知错在哪里,请指教!

搜索更多相关主题的帖子: MIN 结果 define int 
2006-11-08 14:40
xyzyangxu
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-6-21
收藏
得分:0 
为什么没人帮我!
2006-11-08 15:28
xyzyangxu
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-6-21
收藏
得分:0 

我在TC2.0中运行的结果的确是 3,28. 不解!

2006-11-08 16:43
xyzyangxu
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-6-21
收藏
得分:0 
感谢指教
2006-11-09 16:25
快速回复:请教:下题的结果为什么是3,28??
数据加载中...
 
   



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

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