标题:怎样理解用define定义的函数?
只看楼主
jack_young_007
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2005-6-9
 问题点数:0 回复次数:2 
怎样理解用define定义的函数?
#define MIN(x,y) (x)<(y)?(x):(y)
main()
{ int i,j,k;
  i=10;j=15;
  k=10*MIN(i,j);
  printf("%d\n",k);
}

答案是15
请问各位如何解释?谢谢!
搜索更多相关主题的帖子: define 函数 定义 
2005-06-09 01:16
CJAVA
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2005-4-2
得分:0 
宏定义不做计算,所以(x)<(y)?(x):(y)直接替代MIN(x,y),在程序中计算时X先与十乘,在和Y比较。


应该这样#define MIN(x,y) ((x)<(y)?(x):(y))
则 K=100

2005-06-09 02:28
jack_young_007
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2005-6-9
得分:0 
好的。谢谢。

2005-06-09 09:12



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-20422-1-1.html




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

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