一般來說,C語(yǔ)言中的三目運(yùn)算符為
a?b:c
即有三個(gè)參與運(yùn)算的量。
由條件運(yùn)算符組成條件表達(dá)式的一般形式為:
表達(dá)式1? 表達(dá)式2:表達(dá)式3
求值規(guī)則為:如果表達(dá)式1的值為真,則以表達(dá)式2 的值作為條件表達(dá)式的值,否則以表達(dá)式2的值作為整個(gè)條件表達(dá)式的值。條件表達(dá)式通常用于賦值語(yǔ)句之中。
if(a>b) max=a;
else max=b;
可用條件表達(dá)式寫為 max=(a>b)?a:b; 執(zhí)行該語(yǔ)句的語(yǔ)義是:
如a>b為真,則把a(bǔ)賦予max,否則把b 賦予max。
在我們使用條件表達(dá)式時(shí),還應(yīng)注意以下幾點(diǎn):
(1)條件運(yùn)算符的運(yùn)算優(yōu)先級(jí)低于關(guān)系運(yùn)算符和算術(shù)運(yùn)算符,但高于賦值符。因此 max=(a>b)?a:b可以去掉括號(hào)而寫為 max=a>b?a:b
(2)條件運(yùn)算符?和:是一對(duì)運(yùn)算符,不能分開單獨(dú)使用。
(3)條件運(yùn)算符的結(jié)合方向是自右至左。
a>b?a:c>d?c:d應(yīng)理解為a>b?a:(c>d?c:d) 這也就是條件表達(dá)式嵌套的情形,即其中的表達(dá)式3又是一個(gè)條件表達(dá)式。
void main(){
int a,b,max;
printf("\n input two numbers: ");
scanf("%d%d",&a,&b);
printf("max=%d",a>b?a:b);//對(duì)于“三目運(yùn)算符是什么”,可以理解為if() 語(yǔ)句一;else 語(yǔ)句二;a? b : c
}
都說C語(yǔ)言的精髓是指針,但是指針太難懂了,怎么辦?
求求你,別再寫這么多if...else...了
根據(jù)時(shí)序編程,單片機(jī)驅(qū)動(dòng)74HC595實(shí)現(xiàn)數(shù)碼管顯示
大佬故事:初中開始學(xué)編程,大學(xué)畢業(yè)后直接進(jìn)微軟...
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場(chǎng),如有問題,請(qǐng)聯(lián)系我們,謝謝!