c语言递归调用怎么返回第一次递归调用?

如题所述


讨论下:递归是利用栈来实现的。被调函数地址首先存入栈,存在栈底部红色部分,然后f(5)入栈,f(4)、f(3)、f(2)、f(1)依次入栈,由于当n=1时候,f(1)可以被求解,f(1)出栈,栈顶指针top--,依次解析f(2)、f(3)、f(4)、f(5),最后返回被调函数地址。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-28
当递归调用的函数结束后就会返回上一级的函数调用,最终返回大第一次的递归调用追问

感谢朋友!
追问:不能直接返回第一次递归调用吗?如果可以,该怎样返回?