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\n",a);
    
    
    return 0;
    
    
}

结果为 11 宏定义在预处理的时候,编译之前,所以b并没有值,只是一个符号 所以 b+2*b+2 =11

#define SQR(X) ((X)*(X))  这样才是25
posted @ 2015-08-13 17:04  微博和csdn还有你  阅读(160)  评论(0编辑  收藏  举报