C 三进制 : do two distinct things

标签 c ternary

我在问自己是否有可能做这样的事情:

condition ? do this && THIS : else;

喜欢:

nb = (nb1 + nb2) > 9 ? (nb1 + nb2) % 10 && nb1 + 1 : 0;

请注意,这只是一个示例,没有任何意义。

最佳答案

有一个简单的方法:

condition ? function_that_does_several_things() : else_expr;

另一件事是您可以在列表中收集表达式:

int a = (1,2);

2 赋值给 a。所以你可以试试这个:

condition ? (do_this, and_this) : else_expr;

但我建议不要这样做;真的很难看出这里发生了什么,很多人在看到这样的代码时会感到困惑、惊讶和沮丧。

关于C 三进制 : do two distinct things,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26341663/

相关文章:

c++ - Valgrind 调试结果不显示发生错误的行数

python - 无法编译需要 C99 编译器 (AFAIU) 的 pyethash python 包。错误 - 无法打开包含文件 : 'alloca.h'

c - 我如何获得c中读取操作的错误

c - 如何使用共享内存传输FILE结构(POSIX SKIN)

java - 二元运算符 & 的错误操作数类型

java - 否则如果在三元中

比较两个整数列表中每个位置的位数

Java:避免在嵌套类中检查空值(深度空值检查)

css - react : Conditional rendering CSS classes with Animate on Scroll library

java - 有没有办法缩短这段代码?也许是三元表达式?