可以通过如下的实例来说明条件运算符的用法:
int a=1, b=3
int max
max = a>b ? a : b // 如果a>b,则max的值为a,否则max的值为b,也即取a与b中的较大者
问号是条件运算符的意思,跟冒号组合使用。条件运算符优先级高于赋值、逗号运算符,低于其他运算符。
表达式为:表达式1?表达式2:表达式3。先求解表达式1,若其值为真(非0)则将表达式2的值作为整个表达式的取值,否则(表达式1的值为0)将表达式3的值作为整个表达式的取值。
扩展资料
条件运算符具有右结合性
当一个表达式中出现多个条件运算符时,应该将位于最右边的问号与离它最近的冒号配对,并按这一原则正确区分各条件运算符的运算对象。如果在问号和冒号之间还有一个问号或者冒号,应该满足就近配对,使结构不发生紊乱。
例如:
w<x ? x+w : x<y ? x : y与 w<x ? x+w : ( x<y ? x : y) 等价。
w<x ? x+w : x<y ? x : y与 (w<x ? x+w : x<y) ? x : y 不等价。
参考资料来源:百度百科-条件运算符
符号?是问号的意思。
问号,拼音 wèn hào ,即符号“?”。表示疑问的标点符号。用于疑问、设问、反问句等句型的末尾。
问号是语气语调的辅助符号工具,表示一句话完了之后的停顿、语气。用于疑问句、设问句和反问句结尾。疑问句末尾的停顿,用问号。反问句的末尾,也用问号,问号一般情况下不出现在一行之首。有反问、设问等用法。
C语言提供了一个可以代替某些if - then - else语句的简便易用的操作符"?"。
该操作符是三元的,其一般形式为:
EXP1? EXP2: EXP3。
EXP1,EXP2和EXP3是表达式,注意冒号的用法和位置。
操作符“?”作用是这样的,在计算EXP1之后,如果数值为True,则计算EXP2,并将结果作为整个表达式的数值;如果EXP1的值为Flase,则计算EXP3,并以它的结果作为整个表达式的值。