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