使用三元运算符来获得更大的值。
参考以下示例
#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-true
和value-if-false
。
声明如下:
result = comparison ? if_true : if_false;
声明语句是从comparison
开始。与if
语句所有运算符相似,所以任何比较(数学和逻辑都)都有效。
当比较为true
时,将评估语句的if_true
部分,并将该值存储在结果变量中。
当比较为false
时,将评估语句的if_false
部分,并将该值存储在结果变量中。