描述

C++中?和:单独使用没有特殊含义,合起来用时可以表达三目运算符,又称条件运算符。

条件运算符强大而独特,它提供了一种表达简单 if-else 语句的简写方法。该运算符由问号(?)和冒号(:)组成,其格式如下:

<表达式1>?<表达式2>:<表达式3> ;

含义是: 先求表达式1的值,如果为真,则执行表达式2,并返回表达式2的结果 ; 如果表达式1的值为假,则执行表达式3 ,并返回表达式3的结果。

拓展

三目运算符一定要用于赋值语句,三目运算符的应用实例:

例如:x < 0 ? y = 10 : z = 20;

这个语句由 3 个子表达式组成,使用问号 ? 和冒号 : 分隔。这 3 个表达式分别是:x<0,y = 10 和 z = 20。

计算方式是如果条件x < 0是真的,则执行y = 10语句;否则,执行z = 20。

所以当x=-1时,x < 0 ? y = 10 : z = 20的最终结果为y=10。