欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C 語(yǔ)言條件運(yùn)算符詳細(xì)講解

 更新時(shí)間:2016年07月26日 11:28:59   投稿:lqh  
本文主要介紹C語(yǔ)言中的條件運(yùn)算符,并提供示例代碼以便大家學(xué)習(xí)參考,希望能幫助學(xué)習(xí) C語(yǔ)言的同學(xué)

如果希望獲得兩個(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)算符,但高于賦值符。因此

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á)式又是一個(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

以上就是對(duì)C語(yǔ)言的條件運(yùn)算符知識(shí)的講解,有需要的朋友可以參考下。

相關(guān)文章

最新評(píng)論