三目運算符的表示一般爲“?:”,該運算符連接3個對象,是C語言中唯一一個三目運算符,又稱條件運算符。它的一般形式如下:
表達式a?表達式b:表達式c
其執行步驟如下:
(1)計算表達式a的值。
(2)如果表達式a的值爲1,則執行表達式b。
(3)如果表達式b的值爲0,則執行表達式c。
注意:當有多個三目運算符時,按從右至左的順序運算。
例如,下面兩個表達式是等價的:
a<b?b:c>b?c:b;
a<b?b:(c>b?c:b);
分析:三目運算符判斷條件表達式的真值,若爲真則執行“?”號後的第一個表達式,否則執行第二個表達式。
#include<stdio.h>
void main()
{
int x=5; //定義一個整數變量
int y=++x>5?0:1; //通過三目運算符對x進行運算
//判斷++x是否大於5,若大於5則將0賦予變量y,否則將1賦予變量y
printf("%d,%d\n",x,y);
}
運行結果:
6,0