关于“编译预处理和动态存储分配”的一个小小问题
#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呢?
看看我算的哪里不对呗?
我的思路:宏定义里面的x与y被赋值成了10和15.
然后进行比较,判断x与y的大小,如果x<y成立,则输出x的值。
然后在通过公式:k=10*MIN(i,j) k=10*15=150 答案就是150 不对啊~~! 为什么是15呢?