单选题
以下程序的输出结果是______。 #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为整型,所以在做除法时,自动取整。
提交答案
关闭