以下程序的输出结果是( )。 #include #define N 5 #define M N+1 #define f(x)(x*M) main() {int i1,i2; il=f(2); i2=f(1+1); printf(’’%d%d\n’’,il

admin2017-10-24  21

问题 以下程序的输出结果是(  )。
#include
#define N 5
#define M N+1
#define f(x)(x*M)
main()
{int i1,i2;
il=f(2);
i2=f(1+1);
printf(’’%d%d\n’’,il,i2);}

选项 A、12 12
B、12 7
C、12 11
D、11 7

答案D

解析 本题考查了宏的嵌套定义定义了3个宏定义语句,分别是:#defineN 5、#defineM N+1和#definef(x)(x*M),所以根据C语言的宏交替规则,我们可知,f(2)=2*N+12*5+1=11,f(1+1)=1+1*N+1=1+1*5+1=7。
转载请注明原文地址:https://kaotiyun.com/show/rIxp777K
0

最新回复(0)