有以下程序: #include<stdio.h> #define N5 #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

admin2021-02-25  43

问题 有以下程序:
#include<stdio.h>
#define N5
#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

解析 本题考查宏定义的用法,宏定义只是做个简单的替换,所以本题中执行f(2)=(2*N+1)=11,执行f(1+1)=(1+1*N+1)=7。选项D正确。
转载请注明原文地址:https://kaotiyun.com/show/whtp777K
0

最新回复(0)