|
我刚学c,遇到几个问题,百思不得其解:
#include<stdio.h>
#define MIN(x,y) (x)<(y)? (x) y)
main()
{ int i,j,k;
i=10; j=15;
k=10*MIN(i,j);
printf("%d\n",k);
}
为什么结果是15,而不是100? 把i,j代入x,y,10<15?10:15,结果应该是10吧,那么k=10*10,不就是100了吗?为何答案是15?
#define spr(x) x*x
main()
{ int a,k=2,m=1;
a/=spr(k+m)/spr(k+m);
printf("%d\n",a);
}
同样这题我也搞不懂,spr(k+m)的值是5而不是9,spr(k+m)/spr(k+m)却是7了.答案就成1了. |
|