define 是一个预处理指令
1,define定义标识符常量 #define MAX 100 //MAX是定义的常量名,通常用大写
2,define定义宏 #define ADD(x, y) ((x) + (y))
写法:把x, y当成表达式,用括号() 括起来,宏是有参数的,执行的是替换
举例1:
#include <stdio.h>
#define ADD(x, y) x + y
int main(void)
{
printf("%d\n", ADD(2, 3)); //输出5
return 0;
}
举例2,看看下面代码输出多少?
#include <stdio.h>
#define ADD(x, y) x + y
int main(void)
{
printf("%d\n", 5*ADD(2, 3));
return 0;
}
答案:输出输出13,因为 5 * 2 + 3 = 13
举例3:下面代码输出多少?
#include <stdio.h>
#define ADD(x, y) ((x) + (y))
int main(void)
{
printf("%d\n", ADD(2, 3));
return 0;
}
答案:输出25,因为5 * (2 + 3) = 25