gpt4 book ai didi

java - 这段代码中输入值没有增加,函数用 0 值调用自身?

转载 作者:行者123 更新时间:2023-12-01 16:32:03 25 4
gpt4 key购买 nike

每次 func 以 0 值调用自身时,i 的值都不会增加。

int f(n)
{
    if (n == 0)
return 0;
    int sum = 0;
    for(int i = 0; i < n; i++)
{
    sum += f(n-i);//func calls itself and everytime i is 0
    }
    return sum;
}

最佳答案

您的函数正在执行无限循环。
让我们假设您使用 n 的值 15 调用 f
然后该函数将再次调用 f(15) (因为您在 i=0 处开始循环,并且 15-0=15)。
正如我们在上面看到的,调用 f(15) 调用 .... f(15),它调用 f(15),等等在。

一个解决方案(我不知道你的代码的目的是什么)是将循环中的i的值初始化为1。那么至少你不会陷入无限循环。

关于java - 这段代码中输入值没有增加,函数用 0 值调用自身?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62020498/

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