易百教程

使用三元运算符来获取较大值

使用三元运算符来获得更大的值。

参考以下示例

#include <stdio.h> 

int main()
{ 
    int a,b,larger; 

    printf("输入A值: "); 
    scanf("%d",&a); 
    printf("输入另一个不同的B值: "); 
    scanf("%d",&b); 

    larger = (a > b) ? a : b; 
    printf(" %d 值更大一些。\n",larger); 
    return(0); 
}

编译并执行上面示例代码,得到以下结果:

hema@ubuntu:~/book$ gcc main.c
hema@ubuntu:~/book$ ./a.out
输入A值: 99
输入另一个不同的B值: 109
 109 值更大一些。

?:被称为三元运算符:它由三部分组成。

这是一个比较的两个部分:value-if-truevalue-if-false

声明如下:

result = comparison ? if_true : if_false;

声明语句是从comparison开始。与if语句所有运算符相似,所以任何比较(数学和逻辑都)都有效。

当比较为true时,将评估语句的if_true部分,并将该值存储在结果变量中。
当比较为false时,将评估语句的if_false部分,并将该值存储在结果变量中。