C语言三目运算符(条件运算符)
C语言条件运算符由
条件表达式的一般构成形式如下。
例如 (x>=0)? 1 : -1,该表达式的值取决于 x 的值,如果 x 的值大于等于 0,该表达式的值为 1,否则表达式的值为 -1。
条件运算符的结合性是“右结合”,它的优先级低于算术运算符、关系运算符和逻辑运算符。
例如 a>b?a:c>d?c:d,等价于 a>b?a:(c>d?c:d)。
【示例】条件运算符和表达式的应用。
6、7二者的最小值为:6
本范例实际上是通过条件表达式来计算两个数的最小值,并将最小值赋给变量 m,从而输出 a 和 b 两个数中相对较小的一个。
声明:《C语言系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。
?
和:
组成,是C语言中唯一的一个三目运算符,是一种功能很强的运算符。用条件运算符将运算分量连接起来的式子称为条件表达式。条件表达式的一般构成形式如下。
表达式1 ? 表达式2 : 表达式3
条件表达式的执行过程如下:- 计算表达式1的值。
- 若该值不为 0,则计算表达式2的值,并将表达式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 两个数中相对较小的一个。
声明:《C语言系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。