c语言问题,有点不懂……

c语言问题,有点不懂……

问题描述:

# define f(x) (x*x) main() { int i1, i2; i1=f(8)/f(4) ; i2=f(4+4)/f(2+2) ; printf("%d, %d\n",i1,i2); } 程序运行后的输出结果是( ) A.64, 28 B.4, 4 C.4, 3 D.64, 64
答案:C

= f(8)/f(4)=(8*8)/(4*4)=4, i2=f(4+4)/f(2+2) =(4+4*4+4)/(2+2*2+2)=3.

一个个替代进去就好了,你就把4+4当做X带进去

声明变量什么的就不说了吧。

 i1 = f(8)/f(4)=(8*8)/(4*4)=4, i2=f(4+4)/f(2+2) =(4+4*4+4)/(2+2*2+2)=3.

要把原式直接带进去算的。