简单c语言

来源:百度知道 编辑:UC知道 时间:2024/09/13 04:16:25
#define MIN(x,y) (x)<(y)?(x):(y)
main()
{ int i=10,j=15,k;
k=10*MIN(i,j);
printf("%d\n",k);
}
答案: ?:都什么意思?

条件运算符(?:)是C语言中唯一的一个三目运算符,它是对第一个表达式作真/假检测,然后根据结果返回两外两个表达式中的一个。
<表达式1>?<表达式2>:<表达式3>
在运算中,首先对第一个表达式进行检验,如果为真,则返回表达式2的值;如果为假,则返回表达式3的值。

?: 是条件表达式,
(x)< (y)?(x):(y)相当于
if (x < y)
{
return x;
}
else
{
return y;
}

?:就是前面的表达式为真就返回前者否则就是后者

1?2:3
如果1成立,表达式的值为2,如果不成立值为3

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

个人理解,因为我也是小鸟....

(x)<(y)?(x):(y)
如上面所说,是条件运算符.x<y成立时值为x,否则为y.
define 定义符号常量,就是进行简单的字符替换.
MIN(i,j);有两个参数,将参数进行替换得:
k=10*(10)<(15)?(10):(15); ===>>k=100<(15)?(10):(15);

答案当然是:15