作用:用一行代码实现简单的判断
语法:
表达式1 ? 表达式2 : 表达式3
逻辑:
若表达式1值为真,执行表达式2,并返回表达式2的值(作为整个表达式的结果.)
若表达式1值为假,执行表达式3,并返回表达式3的值(作为整个表达式的结果.)
如:
//三目运算符
c = a > b ? a : b;
图中代码意为:
若 a>b,则 c=a;
若 a<=b,则c=b;
这是一个经典用法,熟练运用后可以少写一些if语句,使代码看上去更加简洁.
但是注意使用的时候要避免优先级混乱,最好用括号将整个表达式括起来.
c = (a > b ? a : b ) ;
特别地,三目运算符表达式返回的不是值本身,而是变量.
也就是说,表达式本身相当于一个变量,可以被赋值,如:
(a > b ? a : b) = 100 ;
则当a>b时,程序会将100赋值给a;
否则将100赋值给b.