C

C 知识量:16 - 74 - 317

7.3 条件运算符><

唯一的三元运算符- 7.3.1 -

C提供条件表达式作为表达if else语句的一种便捷方式,该表达式使用?:条件运算符。条件运算符是C中唯一的三元运算符,它分为两部分,需要3个运算对象。例如:、

x = (y > 0) ? y : -y;

在=和;之间的内容就是条件表达式,以上代码的意思是:如果y大于0,那么x=y;否则x=-y。

条件表达式的通用形式如下:

expression1 ? expression2 : expression3

如果expression1为真(非0),那么整个表达式的值与expression2的值相同;如果expression1为假(0),那么整个表达式的值与expression3的值相同。

当需要把两个值中的一个赋值给变量时,就可以使用条件表达式。虽然if else语句也能完成这种任务,但是,使用条件表达式的代码更简洁,而且编译器可以生成更紧凑的程序代码。

以下是一个简单的示例:

#include <stdio.h>

int main(void) {
    int x;
    printf("Please input a integer for x:");
    scanf("%d", &x);
    printf("%d car%s %s here.", x, x > 1 ? "s" : "", x > 1 ? "are" : "is");
    system("pause");
    return 0;
}

如果输入1,运行结果为:

Please input a integer for x:1
1 car is here.

如果输入3,运行结果为:

Please input a integer for x:3
3 cars are here.