switch文は、ある値に応じて処理を変えたいときに使用できます。
以下のコードを実行してみてください。
#include <stdio.h>
int main() {
int d = 2;
switch (d) {
case 0:
printf("dの値は0です。\n");
break;
case 1:
printf("dの値は1です。\n");
break;
case 2:
printf("dの値は2です。\n");
break;
case 3:
printf("dの値は3です。\n");
break;
default:
printf("dの値はそれ以外です。\n");
break;
}
return 0;
}
出力は以下になります。
dの値は2です。
switch文の構文は以下になります。
switch (式) {
case 定数1:
処理
break;
case 定数2:
処理
break;
...
default:
処理
break;
}
式の値と定数の値が同じときに、break までの処理を行います。
また、どの定数も当てはまらない場合は、default が実行されます。
注意が必要なのは、break を記述しないとその後の処理も行うことです。
#include <stdio.h>
int main() {
int d = 2;
switch (d) {
case 0:
printf("dの値は0です。\n");
break;
case 1:
printf("dの値は1です。\n");
break;
case 2:
printf("dの値は2です。\n");
case 3:
printf("dの値は3です。\n");
break;
default:
printf("dの値はそれ以外です。\n");
break;
}
return 0;
}
上記のように、break を書かなかった場合、以下の出力のように break が現れるまで処理をしてしまいます。
dの値は2です。
dの値は3です。
また、以下のように文字も比較できます。
#include <stdio.h>
int main() {
char c = 'b';
switch (c) {
case 'a':
printf("cの値はaです。\n");
break;
case 'b':
printf("cの値はbです。\n");
break;
case 'c':
printf("cの値はcです。\n");
break;
default:
printf("cの値はそれ以外です。\n");
break;
}
return 0;
}
出力
cの値はbです。
0件のコメント