执行下列程序后,输出的结果是(    )。#
执行下列程序后,输出的结果是( )。#
问题:
[单选]执行下列程序后,输出的结果是()。
#include<stdio.h>
#defineS(X)X*X
voidmain()
{inta=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。