编程语言
首页 > 编程语言> > PYTHON栈溢出BUG

PYTHON栈溢出BUG

作者:互联网

# 用递归的方式实现阶乘
def funcl1(n):
if n == 1:
return 1
return funcl1(n - 1) * n
print(funcl1(4))
print(funcl1(999)) 

运行之后报错:

RecursionError: maximum recursion depth exceeded in comparison

原因分析: 

  递归要防止栈溢出。进入函数的时候,栈调用增加一层,出函数的时候减一层。
  python中栈最高998层,所以funcl1(998)正常,funcl1(999)报错。

标签:return,递归,PYTHON,999,998,报错,funcl1,BUG,溢出
来源: https://www.cnblogs.com/liuminglin/p/15755217.html