如何使用条件(三元)运算符? 我一直在想如何在C++兼容语言中编写 >代码> a?b:c“< /代码> 语法”。

如何使用条件(三元)运算符? 我一直在想如何在C++兼容语言中编写 >代码> a?b:c“< /代码> 语法”。,c++,conditional-operator,C++,Conditional Operator,我认为它的工作原理类似:(伪代码) < P>我假设你指的是A= B之类的东西?c:d,其中b是条件,c是b为真时的值,d是b为假时的值。我想你的意思是a=b?C:D,其中B是条件,C是b为真时的值,D是B为假时的值。C++中的< P>没有实际的if部分。这叫做三元算子。它是这样使用的:?:;对于上面的示例,它如下所示: C = A > B ? A : B; expression ? trueValue : falseValue (condition) ? true-clause :

我认为它的工作原理类似:(伪代码)


<任何一个老练的C++程序员请帮助我?< /P> < P>我假设你指的是A= B之类的东西?c:d,其中b是条件,c是b为真时的值,d是b为假时的值。

我想你的意思是a=b?C:D,其中B是条件,C是b为真时的值,D是B为假时的值。C++中的

< P>没有实际的if部分。这叫做三元算子。它是这样使用的:?:;对于上面的示例,它如下所示:

C = A > B ? A : B;
expression ? trueValue : falseValue
(condition) ? true-clause : false-clause
维基百科上的这篇文章也讨论了这一点:
C++中没有实际的if部分。这叫做三元算子。它是这样使用的:?:;对于上面的示例,它如下所示:

C = A > B ? A : B;
expression ? trueValue : falseValue
(condition) ? true-clause : false-clause
维基百科上的这篇文章也讨论了这一点:

它的工作原理如下:

C = A > B ? A : B;
expression ? trueValue : falseValue
(condition) ? true-clause : false-clause
这基本上意味着,如果
表达式
的计算结果为true,则将返回或执行trueValue,否则将返回或计算falseValue

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

其工作原理如下:

C = A > B ? A : B;
expression ? trueValue : falseValue
(condition) ? true-clause : false-clause
这基本上意味着,如果
表达式
的计算结果为true,则将返回或执行trueValue,否则将返回或计算falseValue

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

其工作原理如下:

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

例如:

bool Three = SOME_VALUE;
int x = Three ? 3 : 0;

bool Three = SOME_VALUE;
int x;
if (Three)
    x = 3;
else
    x = 0;
它的工作原理如下:

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

例如:

bool Three = SOME_VALUE;
int x = Three ? 3 : 0;

bool Three = SOME_VALUE;
int x;
if (Three)
    x = 3;
else
    x = 0;

我会说是什么?这是一条捷径。然而,一些“硬核”程序员倾向于说,写出来的路很长,这样在未来的情况下,人们可以很容易地阅读和修改代码

例如,如果你写

int a = b<c ? b : c;

inta=b我会说?这是一条捷径。然而,一些“硬核”程序员倾向于说,写出来的路很长,这样在未来的情况下,人们可以很容易地阅读和修改代码

例如,如果你写

int a = b<c ? b : c;

<代码> int a= b没有人提到,条件运算符表达式的结果可以是C++中的L值(但不是C)。下面的代码在C++中编译,运行良好:

    int a, b;
    bool cond;
    a=1; b=2; cond=true;
    (cond? a : b) = 3;
    cout << a << "," << b << endl;
inta,b;
布尔康德;
a=1;b=2;cond=真;
(条件a:b)=3;

CUT< P>似乎没有人提到条件运算符表达式的结果可以是C++中的L值(而不是C)。下面的代码在C++中编译,运行良好:

    int a, b;
    bool cond;
    a=1; b=2; cond=true;
    (cond? a : b) = 3;
    cout << a << "," << b << endl;
inta,b;
布尔康德;
a=1;b=2;cond=真;
(条件a:b)=3;
这很简单
它的基本语法是:
表达式1?表达式2:表达式3

如果表达式1保持为真,则表达式2将保持不变,否则表达式3将保持不变

例如:

hey=24>2?24:34

此处,当条件为真时,将为其指定24的值。 如果为false,则将为其分配34个

这非常简单 它的基本语法是: 表达式1?表达式2:表达式3

如果表达式1保持为真,则表达式2将保持不变,否则表达式3将保持不变

例如:

hey=24>2?24:34

此处,当条件为真时,将为其指定24的值。 如果为false,则将为其分配34

简单地说,您可以将其写为

C=(A>B)?A:B

这与:

简单地说,您可以将其写为

C=(A>B)?A:B

这与:

这称为“三元运算符”,
是编写if-else语句的另一种方式

请看本文中的“示例1”,并对其进行注释。。。你会注意到它的作用

现在评论“示例1”,取消评论“示例2”,看看会发生什么。代码做了完全相同的事情。。。但这次只有5行代码。注意
符号前面出现的内容是
if
(有条件的),而
后面出现的内容是要执行的内容

但是,如果你有一个条件,需要一个“else-if”(有两个以上可能的结果),比如代码笔的“示例3”(增加了用户编写特定错误答案的可能性),该怎么办?然后,三元运算符可能没有那么有用,但是您当然可以将几个条件与三元运算符连接起来,就像在这个ES6示例中一样。

这称为“三元运算符”,
是编写if-else语句的另一种方式

请看本文中的“示例1”,并对其进行注释。。。你会注意到它的作用

现在评论“示例1”,取消评论“示例2”,看看会发生什么。代码做了完全相同的事情。。。但这次只有5行代码。注意
符号前面出现的内容是
if
(有条件的),而
后面出现的内容是要执行的内容

但是如果你有一个条件,需要一个“else-if”(超过2个possi),该怎么办