【发布时间】:2015-07-11 18:55:02
【问题描述】:
有没有办法将几个不同的条件与共享语句结合起来?
例如:
int a;
...
if (a == 1){
foo;
...
return K1;
}
else if (a == 2){
foo;
...
return K2;
}
...
else if (a == i){
foo;
...
return Ki;
}
有没有一种聪明的方法可以将foo 排除在外,但只能在这些条件下实现? (就像代数中的因式分解:2x+6=2(x+3))。
感觉重复,所以我认为应该有办法缩短它。
【问题讨论】:
-
可以
foo; return array[i];吗? -
@WeatherVane 这实际上是个好主意,但返回的值并不总是存储在数组中。
-
如果有一种简单的方法可以将条件组合成一个条件(例如,
1 <= a && a <= i),您可以在大 else-if 链之前有一个if (combined_condition) {foo;}。
标签: c syntax logic structure conditional-statements