问题 单项选择题

已知下面的程序段,正确的判断是 ______。
#define A 3
#define B(A) ((A+1)*A)
……
int a=3;
X=3*(A+B(7));

A) 程序错误,不允许嵌套定义
B) X=93
C) X=81
D) 程序错误,宏定义不允许有参数

答案

参考答案:C

解析:[评析] 本题的宏定义是合法的,宏定义展开为3*(3+((A+1)*a))=3*(3+((7+1)*3))=81。

单项选择题
多项选择题