#include <stdio.h>
#include "stdlib.h"
#define MAX(X,Y)(((X)>(Y))?(X):(Y))
#define MAX(X,Y)(((X)<(Y))?(X):(Y))
#define SQR(X) (X*X)
#define DEBUG
int main()
{
int a,b =3;
a = SQR(b+2);
printf("a = %d
",a);
return 0;
}
结果为 11 宏定义在预处理的时候,编译之前,所以b并没有值,只是一个符号 所以 b+2*b+2 =11
#define SQR(X) ((X)*(X)) 这样才是25