【问题标题】:Ellipsis Switch Case Visual Studio EquivalentEllipsis Switch Case Visual Studio 等效项
【发布时间】:2012-07-07 20:20:07
【问题描述】:

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

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

【问题讨论】:

  • if (c >= '0' && c <= '9') 无需切换。
  • 不幸的是,我试图将它添加到已经包含多个案例的 switch 语句中:(

标签: c++ switch-statement ellipsis


【解决方案1】:

在 gcc 中我相信可以使用语句 case '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之间的空格)

【讨论】:

    猜你喜欢
    • 2012-07-13
    • 1970-01-01
    • 2012-12-13
    • 2015-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-16
    • 2011-02-25
    相关资源
    最近更新 更多