递归函数的返回值返回到哪 有返回值和没有返回值的递归函数运行时有区别吗?有什么区别?

有返回值和没有返回值的递归函数运行时有区别吗?有什么区别?本质上,没有区别,如果我们不得不说有区别的话,因为递归消耗具有相同递归深度的堆栈空间。如果有返回值,堆栈空间将消耗更多的空间*返回值占用的深度

有返回值和没有返回值的递归函数运行时有区别吗?有什么区别?

本质上,没有区别,如果我们不得不说有区别的话,因为递归消耗具有相同递归深度的堆栈空间。如果有返回值,堆栈空间将消耗更多的空间*返回值占用的深度。例如,如果100级递归的返回值是32位整数,那么它将多消耗3200位的堆栈空间(请注意,堆栈空间消耗的太多,而不是内存)。代码堆栈空间非常宝贵)