第一个理解是对的。第二个,如果a的值是0,结果就是d,如果a不为0,结果就是b==c的值,b==c是关系表达式,其结果是逻辑值1或0
判断a是否小于b 若是,表达式值为c 否则值为d
这是三目运算符,判断前面的表达式是否为真,若为真则返回:前的数,若为假则返回:后的数,若数值是一个表达式则要进一步判断,就像楼主这个例子,不满足a<b时返回的是一个表达式的返回值,所以要接着判断。整体可以改写成if...else if...else的结构,改写如下:if(a<b)return a;else if(c<...
例如x=a<b?c:d的意思就是如果a小于b,x就等于c,否则x=d a<b?b:(c<d?d:e)这样就明白了 如果a<b,那么表达式的值就是b,如果a不小于b,那么表达式的值就是(c<d?d:e)的值 c<d?d:e这个表达式中如果c<d那么表达式值就是d,否则就是e,...
等效于 (a < b) ? a :( c < d ? c : d)即 如果a<b 值为a 否则 如果c<d值为c, c>=d 值为d
?与:组合,是三元运算符 类似于a?b:c,如果a为真,则值为b,否则为c a>b?a:c>d?c:d 如果a>b,值为a,否则,如果c>d,值为c,否则值为d 这样描述有点别扭,详细说一下:如果a>b,那么值为a,如果a<=b,且c>d,值为c,如果a<=b,且c<=d,值为d ...
依次执行b,c,d,最后将d的运算结果赋值给a .这是逗号运算符的实现过程.
答案为1。将条件表达式 a<b? a:c<d?c:d翻译成计算机语言就能得出答案:if(a<b)return a ;else if(c<d) return c ;else return d 。所以a = 1,b = 2 ,符合第一个,所以答案选A。C语言是一门很通用的计算机语言,而且广泛应用在底层开发。他以简易的方式进行编译、处理低级存储器...
结合性为从右至左,那么表达式的结合性用括号表示:(a<b?a:(c<d?c:d))。结合性为从右至左,那么表达式的结合性用括号表示:(a<b?a:(c<d?c:d))
想当于 if(a<b) 返回值为a else if(c<d) 返回值为c else返回值为d 也就是说,先判断a<b是否为真,若为真则返回a,若为假则继续判断c<d,若为真则返回c,若为假则返回d