C 语言中的三元运算符 您所在的位置:网站首页 c语言中次方的表达式是什么意思 C 语言中的三元运算符

C 语言中的三元运算符

2024-07-17 15:52| 来源: 网络整理| 查看: 265

原文:Ternary Operator in C Explained

开发者们可以使用三元运算符实现多个条件的判断,以取代较长的 if-else 条件语句。

三元运算符有三个参数:

第一个是一个比较参数第二个是正确比较后的结果第三个是错误比较后的结果

把三元运算符看作是写 if-else 语句的一种速记方法,会有帮助。下面是一个使用 if 和 else 进行简单决策的例子。

int a = 10, b = 20, c; if (a < b) { c = a; } else { c = b; } printf("%d", c);

这个例子需要十多行,但这并不是必须的。你可以使用三元运算符,只用三行代码就能写出上述程序。

语法

condition ? value_if_true : value_if_false

如果条件 condition 符合,语句的结果是 value_if_true,反之,结果是 value_if_false。

下面是使用三元运算符改写上述例子。

int a = 10, b = 20, c; c = (a < b) ? a : b; printf("%d", c);

上述例子的输出结果是:

10

c 的值应该是 a,因为条件 a < b 为真。

记住,参数 value_if_true 和 value_if_false 必须是相同的类型,而且它们必须是简单的表达式,而不是完整的语句。

三元运算符可以像 if-else 语句一样被嵌套。考虑一下下面的代码:

int a = 1, b = 2, ans; if (a == 1) { if (b == 2) { ans = 3; } else { ans = 5; } } else { ans = 0; } printf ("%d\n", ans);

下面是使用嵌套三元运算符重写的上面的代码:

int a = 1, b = 2, ans; ans = (a == 1 ? (b == 2 ? 3 : 5) : 0); printf ("%d\n", ans);

上面两个例子的结果都应该是:

3


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有