c - 递归函数中的求和

标签 c recursion

我有一个递归函数,我称之为acc。如果满足特定条件,我会再次调用该函数。如果没有,我想向变量 a 添加一个数字。

在我看来,它没有达到应有的效果。有人可以看一下这个吗:

double acc(v)
{
    double a = 0;
    for(int q=0; q<v; q++)
    {
            if(bf(q) < 1)
            {
                if(ef() == 0)
                {           
                    a += cf();
                }
                else
                {
                    a += df();
                }
            }
            else
            {
                return a += acc(v);
            }
    }   
    return a;
}

我尽力简化它。 v是一个变量。 bf()cf()ef()df() 是返回整数值的函数。现在我希望在整个递归过程中每次满足特定条件时 a 都会递增。我的代码是我想要的吗?我暂时没看到。

最佳答案

您的问题是 a 是在递归函数内定义的。如果您想对递归内的事件进行计数,请在 acc() 外部声明。

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

相关文章:

c - 声明数组与为其分配内存

haskell - Haskell 中回溯的实现

c - 在c中将字符串插入链表时出现垃圾字符

比较c中的两个相等数组但输出显示不相等

php - 将一系列父子关系转化为层次树?

java - 我如何可视化查找列表最大数量的递归实现?

algorithm - 在计算树的直径时,为什么仅计算高度是不够的

Perl:并行运行递归作业

c - 在c中做while循环跳过

c - 指向数组的指针未按预期运行