ページ 1 / 1
switch文からの抜け出し
Posted: 2018年3月09日(金) 03:50
by donnbee
初めてここで質問させてもらうので不備があったらすいません。
現在、dxlibで作品を作ってるのですがswitch文から抜け出して前のswitch以外の文に戻ることは可能でしょうか・・・
goto文でやってみてもうまくいかずdxlibが終了してしまうだけです。
よろしければだれか教えてください・・・
Re: switch文からの抜け出し
Posted: 2018年3月09日(金) 14:13
by かずま
donnbee さんが書きました: ↑7年前
初めてここで質問させてもらうので不備があったらすいません。
不備は、「goto文でやってみてうまくいか」ないコードを
示していないことです。
患者が患部を見せずに、医者が正しい診断をするのは難しい
と思いませんか?
switch文から抜け出すには、break 以外に、
goto, return, continue などがあります。
コード:
#include <stdio.h>
void func(int n)
{
for (int i = 0; i < 1; i++) {
putchar('\n');
switch (n) {
case 1:
puts("case 1: break;");
break;
case 2:
puts("case 2: goto dest;");
goto dest;
case 3:
puts("case 3: return; // 関数を抜ける");
return;
case 4:
puts("case 4: continue; // for文の i++ に飛ぶ");
continue;
}
puts(" switch文の次の文");
}
puts(" for文の次の文");
dest:
puts(" 最後の文");
}
int main(void)
{
for (int i = 1; i <= 4; i++)
func(i);
return 0;
}
実行結果
コード:
case 1: break;
switch文の次の文
for文の次の文
最後の文
case 2: goto dest;
最後の文
case 3: return; // 関数を抜ける
case 4: continue; // for文の i++ に飛ぶ
for文の次の文
最後の文