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