溢出到底是怎么回事?
每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。这句话该怎么理解?def fact(n): if n==1: return 1 return n * fact(n - 1) 这样的递归不是返回一次,在调用一次,那不就是减一次栈帧,加一次栈帧,怎么会出现溢出?求大神解答。
每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。这句话该怎么理解?def fact(n): if n==1: return 1 return n * fact(n - 1) 这样的递归不是返回一次,在调用一次,那不就是减一次栈帧,加一次栈帧,怎么会出现溢出?求大神解答。
2017-10-23
举报