宏定义和调用函数哪一个好一些???

01 #include <iostream.h>
02 #define A(a,b) a*b
03 int area(int a,b)
04 {
05 return a*b;
06 }
07 int main()
08 {
09 int a,b,c,d;
10 cout<<"请输入两个数:"<<endl;
11 cin>>a>>b;
12 c=A(a*b);
13 d=area(a,b);
14 cout<<c<<'\t'<<d<<endl;
15 return 0;
16 }

其实是一样的,
但是要看从什么角度来看了:
因为define定义的代码需要预编译,这样会带来时间的消耗,
但是程序执行速度快。

如果是函数的话,预编译时不占用时间,但是在执行时调用函数
会占用内存空间。

所以看自己的选择了,但是如果执行的功能比较复杂的话,还是建议使用函数。

另外你的define定义有问题,
#define A(a,b) a*b 修正为
#define A(a,b) (a)*(b)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-10-17
c=A(a*b);//改为c=A(a,b);
1宏是在编译阶段就替换,执行效率较高。
2函数是在程序执行的时候调用,执行效率相对低些。
相似回答