更新时间:2024-05-21 17:12
其一般形式如下:
x=<表达式1>?<表达式2>:<表达式3>
其意义是:先求解表达式1,若为非0(真),则求解表达式2,将表达式2的值赋给x。若为0(假),则求解表达式3,将表达式3的值赋给x。 口诀:前真后假。
例如:
min=(a<b)?a:b;
效果是将a、b中较小的那个赋给min。
若有多个条件表达式像这样连在一起:x=<表达式1>?<表达式2>:<表达式3>?<表达式4>:<表达式5>···执行顺序是从右到左依次判断再求出最后的x,即所谓的右结合性。
注意:如果最后一个表达式是逗号表达式,注意逗号表达式的优先级比条件表达式的优先级低,实际运用中应该避免这种情况以免出错。
例如: int a=1,b=2,c=3,d=4;则条件表达式x=a<b?a:c<d?c:d;的值为:1