为什么等于15啊?在线求解

#include <stdio.h>
#define MIN(x,y) (x)<(y)?(x):(y)
int main(){
int i,j,k;
i=10;
j=15;
k=10*MIN(i,j);
printf("%d\n",k);

return 0;

}


define只是替换,所以k=10*MIN(ij)实际上是10*(i)<(j)?(i):(j),10乘以i是否小于j,肯定不小于 所以是15.
按照你的想法,应该这样写 k=10*(MIN(i,j)),或者define的时候整个包一个括号