codecamp

C 条件运算符

了解C - C条件运算符

条件运算符计算为两个表达式之一,具体取决于逻辑表达式是否计算true或false。

因为涉及三个操作数,所以此运算符也称为三元运算符。

使用条件运算符的表达式的一般表示形式如下所示:

condition ? expression1 : expression2

运算符如何相对于操作数进行排列。

?字符遵循逻辑表达式, 条件。

在右边?是两个表示选择的操作数, expression1 和 expression2。

如果condition的计算结果为 true, 则操作产生的值将是 expression1 的值; 如果condition计算为 false, 则为 expression2 的值。

注意

请注意,只有一个,表达式1或表达式2将被计算。

x = y > 7 ? 25 : 50;

如果y大于7,则该结果将x设置为25,否则为50。

这是一个很好的速记方式,产生与此相同的效果:

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

例如,您可以编写一个表达式,比较两个薪水并获得两个薪水中的较大者,如下所示:

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;
    }

上面的代码生成以下结果。



C 逻辑运算符
C 位运算符
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

C 联合

C 预处理

C 索引

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }