首页 > 编程笔记

C语言三目运算符(条件运算符)

C语言条件运算符由?:组成,是C语言中唯一的一个三目运算符,是一种功能很强的运算符。用条件运算符将运算分量连接起来的式子称为条件表达式。

条件表达式的一般构成形式如下。

表达式1 ? 表达式2 : 表达式3

条件表达式的执行过程如下:
例如 (x>=0)? 1 : -1,该表达式的值取决于 x 的值,如果 x 的值大于等于 0,该表达式的值为 1,否则表达式的值为 -1。

条件运算符的结合性是“右结合”,它的优先级低于算术运算符、关系运算符和逻辑运算符。

例如 a>b?a:c>d?c:d,等价于 a>b?a:(c>d?c:d)。

【示例】条件运算符和表达式的应用。
#include<stdio.h>
int main()
{
    int a=6,b=7,m;
    m=a<b?a:b;  /*若a<b返回a的值,否则返回b的值*/
    printf("%d、%d二者的最小值为:%d\n",a,b,m); /*输出两者的最小值*/
}
运行结果:
6、7二者的最小值为:6

本范例实际上是通过条件表达式来计算两个数的最小值,并将最小值赋给变量 m,从而输出 a 和 b 两个数中相对较小的一个。

优秀文章