c++ 宏的使用

#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
原文地址:https://www.cnblogs.com/zhuyaguang/p/4727843.html