C语言条件运算符详解
如果希望獲得兩個(gè)數(shù)中最大的一個(gè),可以使用 if 語(yǔ)句,例如:
if(a>b){max = a; }else{max = b; }不過(guò),C語(yǔ)言提供了一種更加簡(jiǎn)單的方法,叫做條件運(yùn)算符,語(yǔ)法格式為:
表達(dá)式1 ? 表達(dá)式2 : 表達(dá)式3條件運(yùn)算符是C語(yǔ)言中唯一的一個(gè)三目運(yùn)算符,其求值規(guī)則為:如果表達(dá)式1的值為真,則以表達(dá)式2 的值作為整個(gè)條件表達(dá)式的值,否則以表達(dá)式3的值作為整個(gè)條件表達(dá)式的值。條件表達(dá)式通常用于賦值語(yǔ)句之中。
上面的 if else 語(yǔ)句等價(jià)于:
max = (a>b) ? a : b;該語(yǔ)句的語(yǔ)義是:如a>b為真,則把a(bǔ)賦予max,否則把b 賦予max。
我們可以認(rèn)為條件運(yùn)算符是一種簡(jiǎn)寫的 if else,完全可以用 if else 來(lái)替換。
使用條件表達(dá)式時(shí),還應(yīng)注意以下幾點(diǎn):
1 . 條件運(yùn)算符的優(yōu)先級(jí)低于關(guān)系運(yùn)算符和算術(shù)運(yùn)算符,但高于賦值符。因此
可以去掉括號(hào)而寫為
max=a>b ? a : b;2 . 條件運(yùn)算符?和:是一對(duì)運(yùn)算符,不能分開(kāi)單獨(dú)使用。
3 . 條件運(yùn)算符的結(jié)合方向是自右至左。例如:
a>b ? a : c>d ? c : d;應(yīng)理解為:
a>b ? a : ( c>d ? c : d );這也就是條件表達(dá)式嵌套的情形,即其中的表達(dá)式又是一個(gè)條件表達(dá)式。
用條件表達(dá)式重新編程,輸出兩個(gè)數(shù)中的最大值:
#include <stdio.h> int main(){int a, b;printf("Input two numbers:");scanf("%d %d", &a, &b);printf("max=%d\n", a>b?a:b);return 0; }運(yùn)行結(jié)果:
Input two numbers:23 45 max=45如果感覺(jué)不錯(cuò)的話記得點(diǎn)贊喲!!!
總結(jié)
以上是生活随笔為你收集整理的C语言条件运算符详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 双网卡共享上网的完全解决方案
- 下一篇: 2.3.1 小型机