下面程序的运行结果是_______#define N 10#define s(x) x*x#defien f(x) (x*x)main(){int i1,i2;i1=1000/s(N);i2=1000/f(N);printf("%d %d\n",i1,i2);}

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/25 16:49:15
下面程序的运行结果是_______#defineN10#defines(x)x*x#defienf(x)(x*x)main(){inti1,i2;i1=1000/s(N);i2=1000/f(N);p

下面程序的运行结果是_______#define N 10#define s(x) x*x#defien f(x) (x*x)main(){int i1,i2;i1=1000/s(N);i2=1000/f(N);printf("%d %d\n",i1,i2);}
下面程序的运行结果是_______
#define N 10
#define s(x) x*x
#defien f(x) (x*x)
main()
{
int i1,i2;
i1=1000/s(N);
i2=1000/f(N);
printf("%d %d\n",i1,i2);
}

下面程序的运行结果是_______#define N 10#define s(x) x*x#defien f(x) (x*x)main(){int i1,i2;i1=1000/s(N);i2=1000/f(N);printf("%d %d\n",i1,i2);}
答案是1000 10
因为宏是原样调用,不打括号的话1000/s(N)=1000/N*N=(1000/N)*N
打了括号就是1000/f(N)=1000/(N*N)
另外一例:
……
#define N 5+1
#define K (4+3)
main()
{
int x=2;
printf("%d\t",x*N);//x*N=2*5+1=11不是2*(5+1)
printf("%d"x*K);//x*K=2*(4+3)=14
}
输出的就是11 14