#define MA(x) x*x-1 int a=1,b=2; cout

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/25 09:50:32
#defineMA(x)x*x-1inta=1,b=2;cout#defineMA(x)x*x-1inta=1,b=2;cout#defineMA(x)x*x-1inta=1,b=2;cout#def

#define MA(x) x*x-1 int a=1,b=2; cout
#define MA(x) x*x-1 int a=1,b=2; cout

#define MA(x) x*x-1 int a=1,b=2; cout
#define MA(x) x*x-1 int a=1,b=2; cout

上面给的答案是错的,如果你拿到机器上运行一下(我用的是VS2010),结果应该是8!!!
MA(1+a+b) = 1+a+b*(1+a+b-1) = 1+1+2*(1+1+2-1) = 2+2*(3) = 2 + 6 = 8

宏替换先直接替换字符,然后再计算的
1+1+2*1+1+2-1=6