C语言间接递归函数可以举个简单的例子嘛?
提问:C语言间接递归函数可以举个简单的例子嘛?
网友回答:
一个简单的数列累加可以用间接递归函数完成
#include
int foo(int x)
{
if (x <= 0) return x;
return bar(x)+x;
}
int bar(int y)
{
return foo(y - 1);
}
int main()
{
printf("%dn",foo(100));
}
结果为
5050
但实际应用中,间接递归很少用的(太过复杂,时间/空间效率都比循环低)
理论上,程序的三种结构(顺序/分支/循环)可以满足任何程序所有需求,按程序设计方法,所有递归都可以化为循环的,所以没有必要用间接递归。