问题:
[单选]
执行下列程序后,输出的结果是( )。
#include
#define S(X) X*X
void main()
{ int a=9,k=3,m=2;
a/=S(k+m)/S(k+m):
printf("%d",a);
}
A . 1
B . 4
C . 9
D . 0
正确答案:D
参考解析:本题主要考查带参数的宏定义,过程如下:由于定义为define(x) x*x没有括号优先级,所以:a= a/(S(k+m)/S(k+m))=a/(k+m*k+m/k+m*k+m) =9/(3+2*3+2/3+2*3+2)=0。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)