C语言题,有关函数递归调用

fun(intn,int*s){intf1,f2;if(n==1||n==2)*s=1;else{fun(n-1'&f2);fun(n-2,&f2);*s=f1+f2;}... fun(int n,int *s)
{ int f1,f2;
if(n==1||n==2)*s=1;
else
{fun(n-1'&f2);
fun(n-2,&f2);
*s=f1+f2;
}
}
main()
{int x;
fun(6,&x);
printf("%d\n",x);
}
它的调用步骤是怎样的?*s=f1+f2最后是几加几?
fun(int n,int *s)
{ int f1,f2;
if(n==1||n==2)*s=1;
else
{fun(n-1,&f1);
fun(n-2,&f2);
*s=f1+f2;
}
}
main()
{int x;
fun(6,&x);
printf("%d\n",x);
}
它的调用步骤是怎样的?*s=f1+f2最后是几加几?
展开
 我来答
贺健康年970
2006-08-28
知道答主
回答量:11
采纳率:0%
帮助的人:0
展开全部
fun(6,&x)->if假->fun(5,&f1),fun(4,&f2) //5,3 8
fun(5,&x')->if假->fun(4,&f1),fun(3,&f2) //3,2 5
fun(4,&x'')->if假->fun(3,&f1),fun(2,&f2) //2,1 3
fun(3,&x''')->if假->fun(2,&f1),fun(1,&f2)//1,1 2
fun(3,&x'')->if假->fun(2,&f1),fun(1,&f2) //1,1 2

fun(4,&x')->if假->fun(3,&f1),fun(2,&f2) //2,1 3
fun(3,&x'')->if假->fun(2,&f1),fun(1,&f2) //1,1 2

5+3
Noxem
2006-08-29 · 超过47用户采纳过TA的回答
知道小有建树答主
回答量:203
采纳率:0%
帮助的人:0
展开全部
fun(1,s),fun(2,s)...fun(n,s)的结果如下
1,1,2,3,5,8,....(fabnacci数列)
即每一个为他前两个的数字的和.
函数里面有一个很明显的递推关系
fun(n,s)=fun(n-1,s)+fun(n-2,s)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式