有以下程序: #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); } 程序运行后的输出结果是( )。

admin2020-10-26  21

问题 有以下程序:
#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、7,18
B、18,18
C、7,7
D、18,7

答案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。
转载请注明原文地址:https://kaotiyun.com/show/1t3p777K
0

最新回复(0)