4

下面,我创建了一个可以正常工作的简单 switch 语句。我想知道如何更改此代码,使其变为 switch(c),然后是 case 1、case 2、case 3、默认值。

例子:if char is 'w' || char is 'W' return WHITE

我尝试了一个简单的 if 语句,尽管编译成功,但它没有给我正确的输出。希望你能帮忙。谢谢!:)

static COLORS color(char c) {

    switch(toupper(c)) {

        case 'W' : return WHITE;

        case 'B' : return BLUE;

        case 'R' : return RED;

        default  : return DEFAULT;
    }
}
4

4 回答 4

11

您可以简单地将多个案例组合在一起:

switch (c) {
  case 'w':
  case 'W':
    // Code
    break;
  default:
    // Code
}

请参阅 MSDN switch()文档。

于 2013-03-10T02:02:32.530 回答
8

尝试以下

switch (c) { 
  case 'w':
  case 'W':
    return WHITE;
  case 'b':
  case 'B':
    return BLUE;
  case 'r':
  case 'R':
    return RED;
  default:
    return DEFAULT;
}
于 2013-03-10T02:01:53.413 回答
1
switch(c){

    case 'w' :
    case 'W' : return WHITE;

    case 'b' :
    case 'B' : return BLUE;

    case 'r' :
    case 'R' : return RED;

    default  : return DEFAULT;
}

将工作。

于 2013-03-10T02:01:55.543 回答
1

在您的代码中,您可以尝试switch((islower(c) ? toupper(c): c))以当前形式保留其余代码。

于 2013-03-10T02:03:39.393 回答