有以下宏定义及调用 #define HA2 #define HB(a)(HA+1)*a x=HA*(HA+HB(2)); 则以下判断正确的是( )。

admin2018-06-29  36

问题 有以下宏定义及调用
#define HA2
#define HB(a)(HA+1)*a
x=HA*(HA+HB(2));
则以下判断正确的是(    )。

选项 A、宏定义不允许嵌套
B、x的值是6
C、X的值是16
D、宏调用不允许嵌套

答案C

解析 C语言中,宏定义和宏调用都是允许嵌套的,选项A、D错误;根据题意,将表达式x=HA*(HA+HB(2))宏展开为:x=2*(2+(2+1)*2),所以结果为x=16,选项B错误,C正确;本题答案为f。
转载请注明原文地址:https://kaotiyun.com/show/7Cxp777K
0

最新回复(0)