有如下嵌套的if语句: if(a<b) if(a<c)k=a; else k=c; else if(b<c)k=b; else k=c; 以下选项中与上述if语句等价的语句是( )。

admin2018-06-29  40

问题 有如下嵌套的if语句:
if(a<b)
if(a<c)k=a;
else k=c;
else
if(b<c)k=b;
else k=c;
以下选项中与上述if语句等价的语句是(    )。

选项 A、k=(a<b)?((b<c)?a:b):((b>c)?b:c);
B、k=(a<b)?((a<c)?a:c):((b<c)?b:c);
C、k=(a<b)?a:b;k=(b<c)?b:c;
D、k=(a<b)?a:b;k=(a<c)?a:c;

答案B

解析 题目中嵌套语句的含义是当a<b且a<c成立,则将a的值赋给k。如果a<b成立而a<c不成立将c的值赋给k。如果a<b不成立而b<c成立,将b的值赋给k。如果如果a<b不成立且b<c也不成立,将c的值赋给k。判断条件表达式只有B选项可以表示这个含义。
转载请注明原文地址:https://kaotiyun.com/show/Ttxp777K
0

最新回复(0)