有如下语句: k=a>b?(b>c?1:0):0;, 以下程序段中,与上述语句功能相同的是( )。

admin2020-06-16  40

问题 有如下语句:
      k=a>b?(b>c?1:0):0;,
    以下程序段中,与上述语句功能相同的是(    )。

选项 A、if((a>b)&&(b>c))k=1;
    else k=0:
B、if((a>b)||(b>c)),k=1;
    else k=0:
C、if(a<=b)k=0;
    else if(b<=c)k=1;
D、if(a>b)k=1;
    else if(b>c)k=1;
    else k=0;

答案A

解析 三元运算符表达式的形式为:表达式1?表达式2:表达式3,当表达式1的值为真时,结果为表达式2的值;当表达式1的值为假时,结果为表达式3的值。首先判断a、b的关系:①如果a>b,那么就执行“:”前面的语句(b>c?1:0);判断b、c的关系,如果b>c,k=1,否则k=0;②如果a<=b,则k=0。综上所述:当a>b且b>c时,k=1,否则k=0,与A项语句功能相同。
转载请注明原文地址:https://jikaoti.com/ti/ZYG0FFFM
0

最新回复(0)