递归函数调用栈

递归函数也使用调用栈,下面是计算阶乘的递归函数。

def fact(x):
    if x==1:
        return 1
    else:
        return x*fact(x-1)

print fact(3)

下面详细分析调用fact(3)时调用栈是如何变化的流程图。

注意:每个fact调用都有自己的x变量,在一个函数调用中不能访问另一个x变量。

风清洋

风清洋

前端老兵,一路上搬过C++、C#、Java的砖,现在在搬Node.js

评论