问题 单项选择题

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

A.;
A) 16

B.2

C.9

D.1

答案

参考答案:B

解析:[评析] C语言在预编译时遇到带实参的宏名,则按命令行中指定的字符串从左到右进行置换。在做这题时,也不妨运用置换法。得到a/=k+m*k+m/k+m*k+m=16/7=2。注:a为整型,所以在做除法,自动取整。

选择题
单项选择题