23C*_*hen 5 c c++ syntax if-statement ternary-operator
是否可以使用"?"编写等效的化合物"if"语句 C中的运算符?我想写一个"if - else if - else"语句,并想知道我是否可以使用"?" 运营商.
我相信使用"?"的常规语法 会是这样的
foo = (bar == 42) ? answerToEverything : useless;
Run Code Online (Sandbox Code Playgroud)
如果我想使用"?"在一行中重写以下语句 操作员,我可以这样做吗?怎么样?
if(bar == 42) {
foo = answerToEverything;
}
else if(bar == 23) {
foo = bigMike;
}
else foo = useless;
Run Code Online (Sandbox Code Playgroud)
Bil*_*nch 13
foo =
(bar == 42) ? answerToEverything :
(bar == 23) ? bigMike :
useless;
Run Code Online (Sandbox Code Playgroud)
我建议使用多行表单,因为它更容易理解:
if (bar == 42) {
foo = answerToEverything;
} else if (bar == 23) {
foo = bigMike;
} else {
foo = useless;
}
Run Code Online (Sandbox Code Playgroud)
但是,如果你真的想让你的代码难以阅读:
foo = (bar == 42)
? answerToEverything
: (bar == 23)
? bigMike
: useless;
Run Code Online (Sandbox Code Playgroud)
当然,您可以随意使用空格进行格式化.
| 归档时间: |
|
| 查看次数: |
1524 次 |
| 最近记录: |