#include<stdio.h>
#define Calculate_Max(A,B) A>B?A:B
#define Calculate_Min(A,B) A<B?A:B
#define Calculate(A,B,NAME) Calculate_##NAME(A,B)
int main(void)
{
printf("%d\n",Calculate(5,8,Max));
return 0;
}
使用宏函数或者宏函数时,注意如下几点:
(1)宏函数的参数没有类型,预处理器只负责做形式上的替换,而不做参数类型检查,所以传参时要格外小心。
(2)宏函数定义要注意格式,尤其是括号。
转载于:https://blog.51cto.com/9409270/1863774