0

持つ:

switch(val){
    case 1:
    break;
    case 2:
    break;
}

のために追加することは可能case val > N:ですconst long long N = 100;か?

4

3 に答える 3

3

はい。ただし、切り替えの一部としてではなく、次のようにします。

if ( val > N)
{
   // whatever
} else {
  switch(val){
    case 1:
    break;
    case 2:
    break;
  }
}

caseは、単一の定数値のみにすることができます。こうなる理由はswitch、Cの文がジャンプテーブルとして実装できるはずだったからです。高水準言語では、より複雑な比較が可能になることが多く、一連のif () {} else if () {}ステートメントの効果的な構文糖衣になります。

于 2013-03-05T14:33:40.263 に答える
1

いいえ、C++のswitch場合は単一の値のみを処理します。

範囲をチェックするステートメントを含むdefaultケースを追加できます。ifまたは、を使用ifせずに直接使用しswitchます。

于 2013-03-05T14:32:12.813 に答える
1

私はこれを提案することができます:

switch(val){
    case 1:
    break;
    case 2:
    break;
    case 3:
    case 4: //etc
    default:
     //case > 100
}
于 2013-03-05T14:33:12.333 に答える