• ベストアンサー

switch文caseについて

boro-pcの回答

  • boro-pc
  • ベストアンサー率30% (64/208)
回答No.2

#1です あら?言葉足らずでしたね >もしよければ、なぜコンパイラが「constってなんぞや?」となるのか教えてください。 コンパイラがじゃなくて質問者さん自身がconstしちゃうとどうなるかってことを思い出してくれれば。というヒントのつもりでした 結果どうしたかわかりませんが、私が何か間違えちゃいましたか? だったらごめんなさい

ya-cha
質問者

お礼

いえいえ、私が頭が悪くてごめんなさい・・・。 とりあえず当初の問題は解決したので、もう大丈夫です(笑) 回答ありがとうございました。

関連するQ&A

  • C++ Switch文について

    int main(){ char Data1 = 'b'; char Data2 = 'b'; int IntData = 0; switch (Data2) { case Data1: IntData = 2; break; case'b':  IntData = 3; break; } } と書くとコンパイルエラーで「整数型定数でなければいけません」と言われます。 case Data1: IntData = 2; break;をコメントアウトすると正常に動作します。 char Data1 = 'b';と、直書きの'b'の違いは何でしょうか。

  • switch文について

    下記のようなswitch文に もうひとつの変数 int tmp = Integer.valueOf(変数2).intValue();を代入したいのですが もう一つ代入できるのでしょうか?? 因みにswitch文にIF文を加えて変数を代入するのではなく switch文で複数の変数を使用したいのです。 どうぞよろしくお願いいたします。 なお、質問の意味が分からない、意図が伝わらない方は アドバイスはいりませんので 恐縮ですがアドバイスお願いいたします。 int lot = Integer.valueOf(変数1).intValue(); switch (lot) { case 1: out.print("OK"); break; case 2: out.print("NG"); break; default: out.print("エラー"); break;} }

    • ベストアンサー
    • Java
  • switch文について

    独学でjavaの勉強をしているのですが、switch文が本のとおりに入力しても エラーがでて困っています。どこが間違っているのかわかりません。 ちなみにプログラム内容は class bunki2{ public static void main(String args[]){ int a; a=1; switch (a) { case1:System.out.println("変数aの値は1です。"); break; case2:System.out.println("変数aの値は2です。"); break; case3:System.out.println("変数aの値は3です。"); break; } } } です。 これでコンパイルしようとすると’case’、’default’、または’}’がありません。とでます。 なぜできないのか教えてください。

    • ベストアンサー
    • Java
  • switch文で文字を比較することは出来ませんか?

    switch文で文字を比較することは出来ませんか? 例えば… int main(void){ char buf[5]; buf = 'b'; switch(buf){ case 'a': ・  ・  ・  break; case 'b': ・  ・  ・  break; }

  • switch の範囲指定

    switch文で以下のように書いた時に処理はCを実行するのですが、 変数a が 0~9の時に こうしますよ と範囲がまだ狭い時はこのように書いても処理はできると思いますが 変数a の範囲が 0~99だった場合、いちいちcase を100回書いて(defaultを使えば処理は減るだろうけど) と数字を100回書かないといけないのはとても面倒だと思うのです。 そこで以下のようにifを使わずにswitchを使って範囲を指定する方法はありませんか? //ifを使った場合の範囲指定 if( ( 0 <= a ) && ( a < 25 ) ){ //略 } else if( ( 25 <= a ) && ( a < 50 ) ){ //略 } else if( ( 50 <= a ) && ( a < 75 ) ){ //略 } else if( ( 75 <= a ) && ( a < 100 ) ){ //略 } //ソース int a = 6; switch( a ){   case 0: case 1:     //処理A     break;   case 2: case 3: case 4:     //処理B     break;   case 5: case 6:     //処理C     break;   case 7: case 8: case 9:     //処理D     break; }

  • Switch caseの書き方について

    int a; scanf("%c", &a); switch (a) {      case 'w':        printf("a = w\n");        break;      default:        printf("?\n");        break; } 上記のように書いて「w」を入力すつと「?」が返ってきます。 int a,b; scanf("%d %c", &b,&a); で「20w」と入力すると「w」が返ってくるのですが、 「%c」だけだとうまくいかないのはどうしてでしょうか? 初歩的な質問で申し訳ないのですが、教えてください。

  • C言語switch文のcase記述について

    switch文のcaseがたくさんあるため、ソースファイルとして外だししたいと思っています。 ただ、switch文そのものはきちんと記述し、caseの部分だけを外だしできればと考えています。 例 switch (a) { case 1: case 2: : :(たくさん続く) 処理A; case 100; case 101; : : (これまたたくさん続く)  処理B; } を switch (a) { A_WO_SURU_JOUKEN  /* この記述を外だししたい */ 処理A; B_WO_SURU_JOUKEN /* 同じく */ 処理B; } といった具合にしてみたいということです。 ヘッダファイルを使う、defineでの記述で可能といったものを教えていただければ幸いです。

  • switch文について

    VC++6.0 SDIです。 CString型の変数に、コンボボックスのデータを所得し、 選択したコンボボックスの内容に応じて異なった処理をさせたいのですが、どうしたら良いでしょうか? 私は、下記コードで出来るかな??ってイメージしていたのですが・・。 下記コードを改造してなんとか・・・ という拘り無く、コンボボックスの内容によって違う処理をする分岐の一般的な方法が知りたいと思っています。 よろしくお願い致します。 CString A; GetWindowText(A);  switch(A){  case '文字列1':{  処理  break;  }  case '文字列2':{  処理  break;  } ・ ・ ・  default :{  処理 break; } }

  • switch文の使い方について

    switch文で比較をさせたいのですが、その場合 switch()の括弧のなかはどうすれば良いのですか? int a,b; switch(){ case(a<b): break case(a>b): break } どなたか知っている方おしえてください。

  • 見たことの無い式で解かりません。

    教えていただきたいのですが 以下のようなプログラムがあったのですが、 |= が良くわからないのですが、変数bには なにが入るのでしょうか? switch(変数a) { case 定数a: 変数b |= 's'; break; } 申し訳ありませんがよろしくお願いします。