投稿
ウッノ uxtuno
switch的な処理でちょっと思い付いた方法 ちゃんと動いてそうです
4そうだね
プレイ済み
返信[1]
親投稿
bigslope bigslope
C言語のcase文は、最後にコロンを付ける事でラベル扱いにして、内部的にgoto文で飛ばしているんじゃないかって気がします。 そう考えると、これも同じ考え方ですね。
1そうだね
プレイ済み
返信[2]
親投稿
たくや joniosan
ON 変数 GOTO @ラベル,@ラベル,… というものがありまして…
0そうだね
プレイ済み
返信[3]
親投稿
ウッノ uxtuno
>>たくや さん ON ~ GOTO ですとBREAKさせるのにラベルが必要なんですよね それに「変数がある値の時の処理」って書けないんじゃないですか? まあ、このプログラムはswitchと同じようにbreakで抜けられることを面白く思い作ったものなので 実際は他の方法で分岐した方がいいかもしれませんね
0そうだね
プレイ済み
返信[4]
親投稿
bigslope bigslope
ON~GOTO文の場合は、条件となる変数が連続している数字(0,1,2…)でなければならないという制約があるのに対し、switch~case文は、 ・条件は連続した値でなくても良い ・条件をひとまとめにして処理を行える ・どの条件にも該当しなかった場合の処理が行える …というような、柔軟な記述が出来ます。
0そうだね
プレイ済み
返信[5]
親投稿
bigslope bigslope
switch(a) { case 0: case 10: case 20: printf("0または10または20の場合\n"); break; case 30: printf("30の場合\n"); break; default: printf("それ以外の場合\n"); break; } (最近C触っていないので忘れ気味)
0そうだね
プレイ済み