问题 单项选择题

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

A.;
&n

答案

参考答案:D

解析: 本题考查带参数的宏调用。a/=SQR(k+m)/SQR(k+m)进行宏替换后得:
a=a/(SQR(k+m)/SQR(k+m))=a/(k+m*k+m/k+m*k+m)=10/(2+1*2+1/2+1*2+1)
=10/(2+2+0+2+1)=10/7/1。

单项选择题
多项选择题