gpt4 book ai didi

c - 为什么这个内存阶乘函数返回错误答案!

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:29:30 26 4
gpt4 key购买 nike

我已经记住了C中的阶乘函数如下:

int fact(int n)
{
int temp;
int lookup_table[n];
if(lookup_table[n])
return lookup_table[n];
else{
if(n == 0 || n == 1)
return 1;
else
temp = n * fact(n-1);
lookup_table[n] = temp;
return temp;
}
}

但是当我输入 n = 5 时,它会输出
-1! = 134514064
有人可以解释发生了什么吗?

最佳答案

您的lookup_table 数组是在本地声明的;每次调用都不同;没有任何内容被内存。

关于c - 为什么这个内存阶乘函数返回错误答案!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5770440/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com