【发布时间】:2017-02-26 22:36:52
【问题描述】:
我在使用 C 中的三元运算符设置两个整数时遇到问题。我似乎找不到答案,因为大多数问题都与多个三元条件有关。
然而,我想检查一个条件并相应地设置 2 个值。
即:
if ( i == 5 ) {
x = foo;
y = foo + 1;
} else {
x = bar;
y = bar + 1;
}
到目前为止,我尝试了以下方法,但似乎不起作用。
x, y = ( i == 5 ) ? foo, foo + 1 : bar, bar + 1;
是否可以在检查 1 个条件后以三进制设置两个值?
谢谢,
【问题讨论】:
-
为什么不坚持使用 if 语句 - 可读、可维护等。三元运算符只是语法糖。保持代码简单易懂。更容易调试。更容易修复。 ....
-
@Olaf - 这在 Python 中是个好主意吗?
-
不,C 中不支持元组。如果您的示例是真实代码,正确的答案是使用三元运算符设置
x,然后设置y=x+1。跨度> -
在 python 中,通常的做法是返回多个参数。所以我会说是的。
-
@EdHeal:不是这个(当然也不是相同的语法)。但是,是的,您可以这样使用三元运算符。尽可能多地将钢琴钉在膝盖上:-)
标签: c if-statement ternary-operator