以下のような構造の関数があったときに,関数C内の[1]である条件が満たされたときに[2]に飛ぶようにしたいときはどのようにしたらいいのでしょうか?
C言語ではgotoはあまり使わないようにした方がいいというのを聞いたことあるんですけど,
gotoを使わずにこのようないくつかの関数から抜け出すにはどのようにするのが普通なんでしょうか?
***************************
A関数
{
:
関数B
[2]
:
}
関数B
{
関数C
}
関数C
{
[1]
}
***************************
関数からの抜け出し方
Re:関数からの抜け出し方
こんばんわ。
とりあえず、関数Cに戻り値を設けて、関数Bでその関数Cの戻り値をチェックするというのはどうでしょう。
つまり、関数Cで [1] の条件が満たされたら1、満たされなかったら0を関数Cが返すようにして、呼び出し元の関数Bはその戻り値をチェックし、1ならそのまま returnして、関数Aに戻る、と。
とりあえず、関数Cに戻り値を設けて、関数Bでその関数Cの戻り値をチェックするというのはどうでしょう。
つまり、関数Cで [1] の条件が満たされたら1、満たされなかったら0を関数Cが返すようにして、呼び出し元の関数Bはその戻り値をチェックし、1ならそのまま returnして、関数Aに戻る、と。
Re:関数からの抜け出し方
Justyさんこんにちは.回答ありがとうございます.
下のような感じにすればいいんですかねー?
***************************
A関数
{
:
関数B
[2]
:
}
関数B
{
if(関数C == 1)
return 1;
:
return 0
}
関数C
{
if(・・・) //[1]
return 1
:
return 0
}
***************************
下のような感じにすればいいんですかねー?
***************************
A関数
{
:
関数B
[2]
:
}
関数B
{
if(関数C == 1)
return 1;
:
return 0
}
関数C
{
if(・・・) //[1]
return 1
:
return 0
}
***************************
Re:関数からの抜け出し方
Justyさん、keichanさん、回答ありがとうございます^^
不在の間ご迷惑をおかけしました><;
こんなに時間がかかるとは思いませんでした^^;
解決されたようでよかったです^^
不在の間ご迷惑をおかけしました><;
こんなに時間がかかるとは思いませんでした^^;
解決されたようでよかったです^^