![](/img/trans.png)
[英]Process finished with exit code -1073741571 (0xC00000FD) Tensorflow
[英]Process finished with exit code -1073741571 (0xC00000FD) in Python
我正处于学习 Python 的早期阶段。 我尝试计算 Ackerman function 以获得较小的值。 它工作得很好,直到值为(3,7)。 任何高于此的值(例如 3,8)都会引发此错误。 [进程以退出代码 -1073741571 (0xC00000FD) 结束]
起初我检查是否达到递归限制,但进程停止在远低于设置的递归限制(在这种情况下,它设置为最大值)
import sys
sys.setrecursionlimit(999999999)
count = 0
def cf():
global count
count+=1
cf()
def Ack(m,n):
if m==0:
x=n+1
cf()
return x
elif m>0 and n==0:
x=Ack(m-1,1)
cf()
return x
elif m>0 and n>0:
x=Ack(m-1,Ack(m,n-1))
cf()
return x
a,b=map(int,input("Enter values").split())
print(a,b)
result=Ack(a,b)
print(result)
print(count)
就这么简单,你得到了堆栈溢出。
递归限制仅指示递归调用 go 的深度,但它不会更改堆栈大小。 每个递归调用都会将帧添加到堆栈中,最终您会达到限制。
如果你真的想要 go 这么深的递归,你必须用threading.stack_size()
改变堆栈大小并创建一个新线程。
相关问题: 进程以退出代码 -1073741571 结束
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.