问题
单项选择题
已知下面的程序段,正确的判断是______。#define A3#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
已知下面的程序段,正确的判断是______。#define A3#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