C语言三目运算符详解:唯一的三目运算符?:用法与实例解析
下面给大家介绍一个三目运算符,即?:

首先介绍一个概念,“目”指的是这个运算符参与运算的对象个数。
前面我们介绍了+、-、*、\等运算符,这些运算符需要两个数或变量进行运算,所以它们属于双目运算符;而++和--只需一个对象就可组合,这种就是单目运算符,很容易理解。那么今天提到的三目运算符,就是有三个对象参与运算的。这是 C 语言中唯一一个三目运算符,它是选择运算符。
它的一般形式是通过?和:两个符号组合而成的,一般形式如下:
表达式1?表达式2:表达式3
首先计算表达式 1 的值,接着判断其是真还是假,即判断其是否成立。若表达式 1 成立,此三目运算符整体的值为表达式 2 的值;若表达式 1 不成立,此三目运算符整体的值为表达式 3 的值。你看明白了吗?
下面举个例子说明一下:
2>1?10:20
这个表达式整体的值是多少呢?答案是 10。因为 2 大于 1 这一条件成立,所以它的值就是表达式 2 的值,而表达式 2 的值为 10。
再比如:
int a=3,b=5; int c=10; c?:(a+b):(a-b)
大家先算算这个表达式的值,应该是 8。为什么呢?因为表达式 1 即 c 的值(10)为真,所以表达式 2 的值即 a + b 就是 8。这下大家明白了吧!
这就是三目运算符的用法,大家可以理解一下!
本质上是一种选择结构。若表达式 1 成立,就执行表达式 2;若表达式 1 不成立,就执行表达式 3。大家先理解一下,然后上机进行实验吧!