天天看點

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. 運算效率高。

繼續閱讀