A-A+

以下程序的输出结果是【 】。 define MCRA(m) 2*m define MCRB(

2022-08-12 18:42:22 问答库 阅读 197 次

问题详情

以下程序的输出结果是【 】。 define MCRA(m) 2*m define MCRB(n,m) 2*MCRA(n)+m main() { int i=2,j=3; printf("%dn",MCRB(j,MCRA(i))); }


请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:16
带参数宏定义首先将程序中宏替换掉,先把“MCRA(i)”替换成“2*i”,然后把“MCRA(j,2,*i)”替换成“2*2*j+2*i”,经计算该表达式的值为16,所以最后输出为16。

考点:程序