探索C 語言中遞歸到Main() 的合法性
程式設計師之間經常爭論的是遞歸到C 語言中main () 的合法性。 C.雖然一些消息來源表明這是禁止的,但其他消息來源則證明了編譯器接受此類程式碼的看似矛盾的行為。
C 標準的視角
依據 3.6 的 C 標準。 1/3,明確禁止遞歸到 main():「函數 main 不得在程式中使用。」
在標準上下文中理解「使用」
標準將「used」定義為:「如果物件或非重載函數的名稱出現在潛在評估的表達式中,則使用該物件或非重載函數。」
在所提供的範例程式碼的情況下:
對main() 的呼叫出現在main() 的主體中,這是一個潛在評估的表達式。因此,根據標準的定義,main() 在程式中使用,使其非法。
編譯器行為和潛在異常
儘管標準禁止,編譯器還是喜歡g 可以編譯這樣的程式碼而不會出錯。通常不建議也不應依賴此行為。編譯器可能會以非標準或特定於實現的方式處理此類情況。
避免遞歸 Main()
確保符合 C 標準並避免潛在問題,強烈建議避免遞歸到 main() 中。相反,請考慮使用替代設計模式或程式技術來實現所需的功能,而不違反語言的規則。
以上是C 中合法允許遞歸到 Main() 嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!