setjmp関数とlongjmp関数を使うと、別の関数に制御を移すことが出来ます。ただし、これらの関数を使うと理解しづらく、保守しにくいものになりますので、別の方法があるなら、そちらを使った方がよいでしょう。 #include <setjmp.h> void longjmp(jmp_buf env, int val); int setjmp(jmp_buf env); envはスタックコンテキスト/スタック環境を保存する領域を指定します。 valはlongjmp関数経由でsetjmp関数が実行された場合の戻り値を指定します。 setjmp関数は直接実行された場合は、戻り値として0を返し、longjmp関数経由で実行された場合は、longjmp関数の第2引数の値を返します。 longjmp関数を実行すると、envを使ってスタックコンテキスト/スタック環境を復元して、この環境を作った場所、つま

