单选题
有以下程序:
#includ<stdio.h>
#definf(x)x*x*x
main()
ina=3,s,t;
s=f(a+1);t=f((a+1));
printf("%d,%",s,t);
}
程序运行后的输出结果是( )。
A、
10,64
B、
10,10
C、
64,10
D、
64,64
【正确答案】
A
【答案解析】
C语言中带参数的宏可以理解为用参数直接替代定义式中的变量,而不经过任何修改。所以s=f(a十1)=a+1*a+1*a+1,t=f((a+1))=(a+1)*(a+1)*(a+1),所以有无括号的运算结果是不同的。
提交答案
关闭