C の main() への再帰: 許可されていますか?
C では main() への再帰が禁止されているという概念にもかかわらず、次のようなコードが g を使用してエラーなしでコンパイルされるインスタンスです。 :
int main() { main(); }
これにより、C 標準ではそのような再帰が許可されますか?
答え:
C 標準では、次への再帰は明示的に禁止されています。セクション 3.6.1/3 の main() には、「関数 main はプログラム内で使用してはならない」と記載されています。この文脈において、「使用される」とは、「その名前が潜在的に評価される式に現れる」状況を指します。
したがって、C プログラムでは main() への再帰呼び出しは許可されません。提供されたコードをエラーなしでコンパイルできるコンパイラーの能力は、実装固有の最適化または標準の解釈の抜け穴によるものと考えられます。ただし、言語仕様の明示的な禁止に反するため、そのような動作に依存することはお勧めできません。
以上がC では `main()` への再帰は許可されていますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。