外贸爆款产品:C语言类型题

来源:百度文库 编辑:神马品牌网 时间:2024/05/04 15:02:50
#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);
}

k = 10*MIN(i,j);
等价于
k = 10*(i)<(j)?(i):(j);
因为乘法优先级比<和?:都高,所以实际意思是
k = (10*i)<j ? i : j;实际比较的是10*i和j进行比较10*i>15是假所以k=j。

故k=15

和括号没关系.MIN函数的申明和定义放在一起,这种写法可以吗?

我想搂主是想这样吧:
#define MIN(x,y) ( (x)<(y)? (x):(y) )

少两个括号

连问题都不说
怎么回答啊 ~~~~~~~

这是个求大小的问题嘛,你到底想问什么?