再帰による無限ループ
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/05/21 08:58 UTC 版)
「スタックオーバーフロー」の記事における「再帰による無限ループ」の解説
/* 関数の戻り値が int の場合、C言語では前方宣言や前方定義がなくてもコンパイル可能だが、C++では前方宣言あるいは前方定義が必要。 */int g(void);int f(void) { return g();}int g(void) { return f();} 関数 f() は関数 g() を呼び出しているが、g() もやはり f() を呼び出している。交互の呼び出しは終わることがなく、最終的にはスタックオーバーフローが発生する。以下のような終了条件のない自己再帰も無限再帰となる。 int foo(void) { return foo();}
※この「再帰による無限ループ」の解説は、「スタックオーバーフロー」の解説の一部です。
「再帰による無限ループ」を含む「スタックオーバーフロー」の記事については、「スタックオーバーフロー」の概要を参照ください。
- 再帰による無限ループのページへのリンク