以下程序的输出结果是:(D)
#define M(x,y,z) x*y+z
main()
{
int a=1, b=2, c=3;
printf(“%d/n”,M(a+b,b+c,c+a));
}
#define M(x,y,z) x*y+z
main()
{
int a=1, b=2, c=3;
printf(“%d/n”,M(a+b,b+c,c+a));
}
A)19
B) 17
C) 15
D) 12
解析:
直接转化为:a+b*b+c+c+a=1+2*2+3+3+1=12,#define只要直接替换就行了,不需要加括号。