为什么答案是a = 71?为什么在运行此程序结束时,答案将根据:m1(3,2,1)= 7 .... a = m2(7,21,14)= 7 * 21 + 14
#define m1(a,b,c) a*b+c
#define m2(x) m1( (x), (x*3), (x*2))
int main()
{
int a;
a=m2(m1(3,2,1));
return 0;
}
答案 0 :(得分:10)
如果使用-E
标志进行编译(仅运行预处理器,则得到:
int main()
{
int a;
a=(3*2 +1)*(3*2 +1*3)+(3*2 +1*2);
return 0;
}