2014-06-19 63 views
1

有什麼辦法可以退出一個程序在一個resursive函數內?如果有辦法,如果我像那樣退出會發生什麼?在遞歸函數中用exit(0)實際做什麼?退出(0)在遞歸函數中做什麼?

+0

這將確實會退出程序。你有什麼理由懷疑它不會? – templatetypedef

+0

退出是最終的延續,但它聞起來不好的設計。你有沒有找到它或者你打算用這個解決一些問題? – Sylwester

+0

您應該爲您的問題添加語言標記。 – pjs

回答

3

exit(0)將始終*使整個應用程序立即退出(狀態碼爲0)。無論你是否從遞歸函數調用它都無關緊要 - 它與return完全不同。

*:好吧,幾乎總是;有幾個瘋狂的情況下,它不會,但這是除了點

+0

如果程序在退出(0)遞歸內部突然結束,內存中的遞歸堆棧會發生什麼? –

+0

堆棧是當前進程地址空間的一部分,當進程退出時,堆棧中的所有內容都會消失。 – duskwuff