4

以下に、正常に動作する簡単な switch ステートメントを作成しました。このコードをどのように変更すれば switch(c) になり、次にケース 1、ケース 2、ケース 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 に答える