C语言的两个问题: 所有的递归程序均可以用非递归算法实现?递归函数中的形式参数是自动变量吗? c语言中

 我来答
chenyuanhuiwan
推荐于2017-12-16 · TA获得超过591个赞
知道小有建树答主
回答量:434
采纳率:0%
帮助的人:271万
展开全部
C语言所有递归都可以用非递归算法实现,最典型的就是迭代法,有时比递归更容易理解。至于递归中的形式参数是自动变量,没明白楼主的意思,形参就是形参啊,形参变量也是变量,其内存分配在栈区,随着函数的结束,其内存也会被释放,形参的生命周期与函数生命周期相同哈(同生共死)
nqildp
2011-01-01 · TA获得超过1419个赞
知道小有建树答主
回答量:1159
采纳率:0%
帮助的人:961万
展开全部
#include <stdio.h>
unsigned int Fibonacci(int n);
int main( void )
{
int i;
for(i = 1 ;i <= 20;i ++)
{
printf("%d\n",Fibonacci(i));
}
return 0;
}
unsigned int Fibonacci(int n)
{
if( n == 1 || n == 2) // 递归结束的条件,求前两项
return 1;
else
return Fibonacci(n-1)+Fibonacci(n-2); // 如果是求其它项,先要求出它前面两项,然后做和。
}
这种算法效率比较低
哪里不清楚可以Hi我
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
贼寇在何方
2011-01-01 · TA获得超过770个赞
知道小有建树答主
回答量:759
采纳率:0%
帮助的人:708万
展开全部
1.是的,借助堆栈都可以实现
2.是的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式