宏可以像函数一样为他带上参数,当它代替函数时效率更高,但在宏的传入和使用时不会有任何类型检查。
下面是一段简单的带参数的宏的应用
#include<stdio.h>
#define cube(x) ((x)*(x)*(x))
int main(int argv, char const* argc[])
{
int a;
scanf_s("%d", &a);
printf("%d", cube(a+2));
return 0;
}
其结果为:
“1”为输入的值。