C语言中的三目运算符是啥?有何用处?
一般來說,C語言中的三目運(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á)式通常用于賦值語句之中。
例如條件語句:
可用條件表達(dá)式寫為?max=(a>b)?a:b; 執(zhí)行該語句的語義是:
如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()?語句一;else?語句二;a??b?:?c }三目運(yùn)算符簡(jiǎn)單好用。
聲明:
本文于網(wǎng)絡(luò)整理,版權(quán)歸原作者所有,如來源信息有誤或侵犯權(quán)益,請(qǐng)聯(lián)系我們刪除或授權(quán)事宜。
總結(jié)
以上是生活随笔為你收集整理的C语言中的三目运算符是啥?有何用处?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 苹果微信关掉震动还震动
- 下一篇: C语言 | 递增运算符