选择题
35.
有以下程序:
# include<stdio.h>
# define f(x)x*x*x
main()
{ int a=3,s,t;
s=f(a+1);t=f((a+1));
printf("%d,%d\n",s,t);
}
程序运行后的输出结果是______。
A、
10,64
B、
10,10
C、
64,10
D、
64,64
【正确答案】
A
【答案解析】
本题考查带参数的宏定义。第一次函数调用求s的值,x=a+1,所以x*x*x应写成a+1*a+1*a+1,没有括号优先级,结果为10,第二次函数调用x*x*x可写成(a+1)*(a+1)*(a+1),所以结果为64。
提交答案
关闭