ホームページ > バックエンド開発 > C++ > C では `main()` への再帰は許可されていますか?

C では `main()` への再帰は許可されていますか?

Patricia Arquette
リリース: 2024-11-28 19:16:15
オリジナル
132 人が閲覧しました

Is Recursion into `main()` Allowed in C  ?

C の main() への再帰: 許可されていますか?

C では main() への再帰が禁止されているという概念にもかかわらず、次のようなコードが g を使用してエラーなしでコンパイルされるインスタンスです。 :

int main()
{
    main();
}
ログイン後にコピー

これにより、C 標準ではそのような再帰が許可されますか?

答え:

C 標準では、次への再帰は明示的に禁止されています。セクション 3.6.1/3 の main() には、「関数 main はプログラム内で使用してはならない」と記載されています。この文脈において、「使用される」とは、「その名前が潜在的に評価される式に現れる」状況を指します。

したがって、C プログラムでは main() への再帰呼び出しは許可されません。提供されたコードをエラーなしでコンパイルできるコンパイラーの能力は、実装固有の最適化または標準の解釈の抜け穴によるものと考えられます。ただし、言語仕様の明示的な禁止に反するため、そのような動作に依存することはお勧めできません。

以上がC では `main()` への再帰は許可されていますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート