条件运算符是C语言中唯一的一个三元运算符,使用条件运算符构成的表达式称为条件表达式,其一般形式如下:
表达式1 ? 表达式2 : 表达式3
条件表达式的计算过程是:首先计算表达式1的值;如果值为真(非0),则计算表达式2的值作为条件表达式的值;否则,计算计算表达式3的值作为条件表达式的值。
举例
题目描述:使用条件运算实现从键盘输入两个整数,输出其较大的值。
答案示例:
代码语言:javascript复制#include <stdio.h>
int main()
{
int max, a, b;
printf("Input two integers: ");
scanf("%d%d", &a,&b);
max = a>b ? a : b;
printf("max=%dn",max);
return ;
}
结果:
注意事项
(1)条件运算符的优先级高于赋值运算符,而低于其他所有的运算符;
如:min=a>b?b*b:a*a;
(2)条件运算符是左结合的;
如:flag=a>0?1:a==0?0:1;
(3)条件表达式中3个表达式的类型可以不同,其中表达式2和表达式3中类型较高的一个决定条件表达式的类型;
如:max=a>b?3.14:100;