我有一个递归函数,我称之为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/