以下程序的输出结果是______。 #define TIMES(X) X*X main() { int a=16,k=2,m=1; a/=TIMES (k+m)/TIMES(k+m); printf("d\n"

admin2009-02-15  50

问题 以下程序的输出结果是______。    #define TIMES(X)  X*X    main()    {  int a=16,k=2,m=1;       a/=TIMES (k+m)/TIMES(k+m);       printf("d\n",a);    }

选项 A、16
B、2
C、9
D、1

答案2

解析 宏定义的作用是进行字符的替换,应先将赋值语句的右边进行宏替换,即等号右边为:k+m*k+m/k+m*k+m=2+1*2+1/2+1*2+1=2+2+0+2+1=7,然后计算a/=7,即a=a/7=16/7=2。
转载请注明原文地址:https://jikaoti.com/ti/gwK0FFFM
0

最新回复(0)