gpt4 book ai didi

c - c中的递归函数不起作用

转载 作者:行者123 更新时间:2023-11-30 20:05:55 25 4
gpt4 key购买 nike

    #include<stdio.h>
#include<math.h>
int power(int a)
{
if(a<=0)
return 1;
else
return((int)pow(5.0,a)+power(a--));
}
void main()
{
printf("%d",power(2));
}

我在一个更大的程序中使用了上面的函数,但它无法在 C 中执行。请指出这个错误。

最佳答案

改变

return((int)pow(5.0,a)+power (a--));

return((int)pow(5.0,a)+power (a-1));

它不起作用的原因是 a-- 返回 a 的当前值,而不是 a 的递减值。所以你的递归函数永远不会结束,它是一个无限递归。

关于c - c中的递归函数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28711804/

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