天天看点

C 语言的三目运算符以及应用1 定义2 应用3 优点

1 定义

     三目运算符由条件和表达式组成:

条件?表达式1:表达式2
           

    等同于:

if 条件:
    表达式1:
else:
    表达式2
           

    注意:

  1. 条件运算符的优先级低于关系运算符和算术运算符,但是高于赋值符,(ex:max=(a>b)?a:b可以去掉括号而写为 max=a>b?a:b);
  2. ?和:成对使用;
  3. 条件运算符结合方向从右至左。(ex:a>b?a:c>d?c:d应理解为a>b?a:(c>d?c:d))

2 应用

     通常用于宏定义,在做图像矩阵运算时求最大值,最小值,以及数据截断。

/*求两者最大值*/
#define MAX(a, b)                        ((a) > (b) ? (a) : (b))  
/*求两者最小值*/
#define MIN(a, b)                        ((a) < (b) ? (a) : (b))
/* 数值范围保护 */
#define CLIP(a, l, h)                    (MIN_V(MAX_V(a, l), h))
           

3 优点

  1. 代码简介;
  2. 运算效率高。

继续阅读