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

admin2013-06-11  30

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

选项

答案16

解析 带参数宏定义首先将程序中宏替换掉,先把“MCRA(i)”替换成“2*i”,然后把“MCRA(j,2,*i)”替换成“2*2*j+2*i”,经计算该表达式的值为16,所以最后输出为16。
转载请注明原文地址:https://jikaoti.com/ti/jGn0FFFM
0

最新回复(0)