gpt4 book ai didi

c - 使用递归的阶乘程序返回错误值

转载 作者:行者123 更新时间:2023-11-30 18:37:02 25 4
gpt4 key购买 nike

我正在尝试使用递归计算阶乘,但我的程序返回错误的值。我无法理解递归功能。请帮助我理解递归是如何工作的。我的代码如下:

#include <stdio.h>
#include <math.h>

int main()
{
//code
int T,N,sol;
scanf("%d\n",&T);

while(T--) {
scanf("%d\n",&N);

sol=fact(N);
printf("%d\n",sol);
}

return 0;
}

int fact(int n)
{
int value;
while(n>0) {
value=n*fact(n-1);
n=n-1;
}

return value;
}

最佳答案

用这个函数替换你的事实函数:

int fact(int n)
{
int value = 1;
if(n>0)
{
value=n*fact(n-1);
}
return value;
}

关于c - 使用递归的阶乘程序返回错误值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38759486/

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