问题 填空题

以下程序的输出结果是
# define MCNA(m)2*m
# define MCNB(n, m)2*MCRA(n)+m
# define f(x)(x*x)
main()
int i=2, j=3;
printf("% d\\n", MCRB(j, MCRA(i)));

答案

参考答案:P

解析: 本题定义了两个宏MCRA(m)和MCRB(n, m),展开宏MCRB(n, m),得到:MCRB(j, MCRA(i)=2*MCRA(j)+MCRA(i)=2×2×j+2×i=4×3+2×2=12+4=16,因此printf函数的输出结果为16。

单项选择题
解答题