单选题
有以下程序:
#include
#define f(x)2*x*x
main()
{
int a=2,s,t;
s=f(a+1);
t=f((a+1));
printf(''%d,%d\n'',s,t);
}
程序运行后的输出结果是( )。
【正确答案】
A
【答案解析】解析:此题考查的宏定义的代入计算,在使用宏定义时,一定是先代入值再计算表达式的值,因此,f(a+1)=2*a+1*a+l=2*2+1*2+1=7,而f((a+1))=2*(a+1)*(a+1)=2*(2+1)*(2+1)=18。