質問に示されているコード スニペットは、C での main 関数への再帰呼び出しの有効性に関する懸念を引き起こします。
int main () { return main(); }
コンパイラーはエラーなしでコードを受け入れる可能性がありますが、その動作は不確実であり、潜在的にundefine.
C 標準によれば、main 関数は式によって呼び出されるべきではありません。このルールは、main への直接呼び出しと、ポインター間接指定または関数アドレスを介した呼び出しが禁止されていることを意味します。
この禁止にもかかわらず、一部のコンパイラでは、そのような main への呼び出しを許可する場合があります。ただし、この動作は保証されておらず、環境によって異なる場合があります。
それ自体の中で main を呼び出した場合の結果は未定義です。プログラムが無限ループに入ったり、予期せず終了したり、予測できない結果を示したりする可能性があります。 main を呼び出すと、プログラムのデバッグやプロファイリングを試みるときに問題が発生する可能性もあります。
結論として、C での main への再帰呼び出しは標準でサポートされていないため、避ける必要があります。このような呼び出しを使用しようとすると、未定義の動作や信頼性の低いプログラム実行が発生する可能性があります。
以上がC の `main` 関数を再帰的に呼び出すことはできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。