浩奇加湿器:C语言的小问题

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/14 15:02:33
如果a=1 b=2 c=3 d=4
a<b?a:c<d?c:d的结果是多少阿?
我知道啊
但是这里有两个?:
先后关系是什么呢?

由此题来看,结果为a,就是1.

a=1,b=2,c=3,d=4
a<b?a:c<d?c:d
? : 这是一个三目运算符,如果?号前式子成立那结果就会返回?号后面的值,如果不成立,将返回:号后面的值。

首先比较a<b,将值带入式子,其结果为真,则返回?号后面的值也就是a了,结果为1。
如果a<b不成立,则会返回:号后的值,其运算方法一样。

int i;
if(a < b) i = a;
else
{
if(c < d) i = c;
else i = d;
}

结果i = 1

这个问题我想你只要搞懂a<b?a:b;这个语句就行了,
其实就是简单的判断语句,只要把他搞懂就差不多了,我认为这在某些方面这与递归差不多,只是这个式子是递归的具体化.

结果是a,也就是1