首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用条件(三元)运算符?

如何使用条件(三元)运算符?
EN

Stack Overflow用户
提问于 2008-12-25 16:27:11
回答 10查看 57.8K关注 0票数 39

我一直想知道如何用C++兼容的语言编写"A ? B : C"语法。

我认为它的工作原理是这样的:(伪代码)

代码语言:javascript
复制
If A > B
   C = A
Else
   C = B

有没有经验丰富的C++程序员能帮帮我?

EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2008-12-25 16:34:49

它是这样工作的:

代码语言:javascript
复制
(condition) ? true-clause : false-clause

它最常用于赋值操作,尽管它也有其他用途。三元运算符?是一种缩短if-else子句的方法,在其他语言中也称为立即if语句(例如,VB中的IIf(condition,true-clause,false-clause))。

例如:

代码语言:javascript
复制
bool Three = SOME_VALUE;
int x = Three ? 3 : 0;

等同于

代码语言:javascript
复制
bool Three = SOME_VALUE;
int x;
if (Three)
    x = 3;
else
    x = 0;
票数 67
EN

Stack Overflow用户

发布于 2008-12-25 16:32:43

它是这样工作的:

代码语言:javascript
复制
expression ? trueValue : falseValue

这基本上意味着如果expression的计算结果为真,将返回或执行trueValue,否则将返回或计算falseValue。

请记住,只有在表达式为true或false时,才会分别计算和执行trueValue和falseValue。这种行为称为短路。

票数 12
EN

Stack Overflow用户

发布于 2008-12-25 16:31:29

在c++中,没有实际的if部分。它被称为三元运算符。它的用法如下:?:;对于上面的示例,它将如下所示:

代码语言:javascript
复制
C = A > B ? A : B;

维基百科上的这篇文章也讨论了它:http://en.wikipedia.org/wiki/Ternary_operation

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/392932

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档