2014-06-19 41 views
1

有什么办法可以退出一个程序在一个resursive函数内?如果有办法,如果我像那样退出会发生什么?在递归函数中用exit(0)实际做什么?退出(0)在递归函数中做什么?

+0

这将确实会退出程序。你有什么理由怀疑它不会? – templatetypedef

+0

退出是最终的延续,但它闻起来不好的设计。你有没有找到它或者你打算用这个解决一些问题? – Sylwester

+0

您应该为您的问题添加语言标记。 – pjs

回答

3

exit(0)将始终*使整个应用程序立即退出(状态码为0)。无论你是否从递归函数调用它都无关紧要 - 它与return完全不同。

*:好吧,几乎总是;有几个疯狂的情况下,它不会,但这是除了点

+0

如果程序在退出(0)递归内部突然结束,内存中的递归堆栈会发生什么? –

+0

堆栈是当前进程地址空间的一部分,当进程退出时,堆栈中的所有内容都会消失。 – duskwuff