C 條件運(yùn)算符

2018-07-05 15:25 更新

了解C - C條件運(yùn)算符

條件運(yùn)算符計(jì)算為兩個(gè)表達(dá)式之一,具體取決于邏輯表達(dá)式是否計(jì)算true或false。

因?yàn)樯婕叭齻€(gè)操作數(shù),所以此運(yùn)算符也稱為三元運(yùn)算符。

使用條件運(yùn)算符的表達(dá)式的一般表示形式如下所示:

condition ? expression1 : expression2

運(yùn)算符如何相對于操作數(shù)進(jìn)行排列。

?字符遵循邏輯表達(dá)式, 條件。

在右邊?是兩個(gè)表示選擇的操作數(shù), expression1 和 expression2。

如果condition的計(jì)算結(jié)果為 true, 則操作產(chǎn)生的值將是 expression1 的值; 如果condition計(jì)算為 false, 則為 expression2 的值。

注意

請注意,只有一個(gè),表達(dá)式1或表達(dá)式2將被計(jì)算。

x = y > 7 ? 25 : 50;

如果y大于7,則該結(jié)果將x設(shè)置為25,否則為50。

這是一個(gè)很好的速記方式,產(chǎn)生與此相同的效果:

if(y > 7)
  x = 25;
else
  x = 50;

例如,您可以編寫一個(gè)表達(dá)式,比較兩個(gè)薪水并獲得兩個(gè)薪水中的較大者,如下所示:

your_salary > my_salary ? your_salary : my_salary

例子

下面是您如何處理該操作的方法:


    #include <stdio.h>
    int main(void)
    {
      const double PRICE = 3.50;                // Unit price in dollars
      const double rate1 = 0.05;            // Discount for more than 10
      double my_rate = 0.0;

      int quantity = 0;

      printf("Enter the number that you want to buy:");
      scanf(" %d", &quantity);

      my_rate = quantity > 10 ? rate1 : 0.6;

      printf("The price for %d is $%.2f\n", quantity, my_rate);
      return 0;
    }

上面的代碼生成以下結(jié)果。



以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號