k=a>b?(b>c?1:0):0;为什么与if((a>b)&&(b>c)) k=1;等价

2025-06-21 20:11:51
推荐回答(2个)
回答1:

左半边先看括号里的部分,意思是如果b>c则为1否则为0,再看整体,如果a>b则为括号里的结果否则为0,即为只有a>b和b>c同时满足是才会输出结果1其他都为0.
右半边意思是如果a>b且同时b>c,则k=1
综上所述,左右等价

回答2:

如果a>b则选择冒号前的(b>c?1:0)同样如果b>c则选择1赋给k否则就把0赋给k
a这是三元运算(表达式一)?值一:值二
就是说如果表达式为真就取值一否则值二