0

有:

switch(val){
    case 1:
    break;
    case 2:
    break;
}

case val > N:是否可以添加到它const long long N = 100;

4

3 回答 3

3

是的,但不是作为切换的一部分,请执行以下操作:

if ( val > N)
{
   // whatever
} else {
  switch(val){
    case 1:
    break;
    case 2:
    break;
  }
}

case's 只能是单个常量值。之所以这样,是因为switchC 的语句应该可以作为跳转表来实现。高级语言经常允许更复杂的比较,使其成为一系列if () {} else if () {}语句的有效语法糖。

于 2013-03-05T14:33:40.263 回答
1

不,C++switch案例只处理单个值。

您可以添加一个default带有if语句的案例来检查范围。或者直接使用if不带switch.

于 2013-03-05T14:32:12.813 回答
1

我可以建议这个:

switch(val){
    case 1:
    break;
    case 2:
    break;
    case 3:
    case 4: //etc
    default:
     //case > 100
}
于 2013-03-05T14:33:12.333 回答