有以下程序: #include<stdio.h> ##definef(x)X*X*x main( ) { int a=3,s,t; s=ffa+1): t=f((a+1)); printf("%d,%d\n",s,t); } 程序运行后的输出结果是(

admin2022-06-24  35

问题 有以下程序:
#include<stdio.h>
##definef(x)X*X*x
main( )
{
int a=3,s,t;
s=ffa+1):
t=f((a+1));
printf("%d,%d\n",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),所以有无括号的运算结果是不同的。
转载请注明原文地址:https://jikaoti.com/ti/t6d0FFFM
0

最新回复(0)