gpt4 book ai didi

c - 具有多个语句的三元运算符

转载 作者:太空狗 更新时间:2023-10-29 15:11:17 25 4
gpt4 key购买 nike

我有一个程序流程如下:

if(a)
{
if((a > b) || (a > c))
{
doSomething();
}
statementX;
statementY;
}

我需要将其转换为条件表达式,这就是我所做的:

(a) ? (((a > b) || (a > c)) ? doSomething() : something_else) : something_else;

我在哪里插入语句statementX, statementY?由于这两种可能的情况都需要执行,所以我真的找不到办法。

最佳答案

您可以像这样使用逗号 , 运算符:

a ? (
(a > b || a > c ? do_something : do_something_else),
statementX,
statementY
)
: something_else;

以下程序:

#include <stdio.h>

int main ()
{
int a, b, c;

a = 1, b = 0, c = 0;

a ? (
(a > b || a > c ? printf ("foo\n") : printf ("bar\n")),
printf ("x\n"),
printf ("y\n")
)
: printf ("foobar\n");
}

为我打印:

foo
x
y

关于c - 具有多个语句的三元运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15113897/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com