C语言递归程序,看不懂,求解释!!!
C语言递归程序,看不懂,求解释!!!
日期:2012-03-10 19:43:05 人气:1
用我自己的话来解释,你可以看作void f(int n)被复制了很多份(每一次递归都复制了一份,递归这个词不知道要不要再解释……)当你在void f(int n)函数内调用void f(int n)时,函数内调用的void f(int n)是临时从原f中复制的一个新的函数。所以每一次递归都需要占用新的资源(所以递归如果一直不结束的话,最后会造成栈溢出)。
如果你了解C的底层模型,递归的概念就自然而然理解了。