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

问题描述 投票:0回答:1

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

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

c++ switch-statement ellipsis
1个回答
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之间的空格)

© www.soinside.com 2019 - 2024. All rights reserved.