天天看点

条件运算符和条件表达式

条件运算符和条件表达式

条件运算符是C语言中唯一的一个三元运算符,使用条件运算符构成的表达式称为条件表达式,其一般形式如下:

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

条件表达式的计算过程是:首先计算表达式1的值;如果值为真(非0),则计算表达式2的值作为条件表达式的值;否则,计算计算表达式3的值作为条件表达式的值。

举例

题目描述:使用条件运算实现从键盘输入两个整数,输出其较大的值。

答案示例:

#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=%d\n",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;