有下列程序,程序的运行结果是 #include<stdio.h> #define N 5 #define M N+1 #define f(x)(x*M) main() {int i1,i2; i1=

admin2017-04-26  35

问题 有下列程序,程序的运行结果是
    #include<stdio.h>
    #define N 5
    #define M N+1
    #define f(x)(x*M)
    main()
    {int i1,i2;
     i1=f(2);
     i2=f(1+1);
     printf("%d  %d\n",i1,i2);}

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

答案D

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

最新回复(0)