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