省略号交换机案例Visual Studio等效

时间:2012-07-07 19:32:06

标签: c++ switch-statement ellipsis

我正在尝试编写一个switch语句,以文本形式标识0到9之间的所有数字。在gcc中我相信可以使用语句'0'...'9':

是否存在可在Microsoft Visual Studio中使用的等效表达式,或者我是否必须为每个数字编写单独的案例?

1 个答案:

答案 0 :(得分:0)

  

在gcc中我相信可以使用语句'0'...'9'

是的,但这是GNU C编译器的扩展,它不是C ++标准。

我认为最好的办法就是写下这样的东西:

switch(c) {
  case '0':
  case '1':
  case '2':
  //...
  case '9':
    //Do something
  break;
}

或者,如果您愿意:

switch(c) {
  case '0': case '1': case '2': /*...*/ case '9':
    //Do something
  break;
}

(请注意:与以下case之间的空格)