C语言程序题 看不懂,求帮忙;程序的结果是什么 怎么得出来的?

#include<stdio.h>fib(intn,int*p){intf1,f2;if(n==1||n==2)*p=1;else{fib(n-1,&f1);fib(n-... #include<stdio.h>
fib(int n,int *p)
{
int f1,f2;
if(n==1||n==2)
*p=1;
else
{
fib(n-1,&f1);
fib(n-2,&f2);
*p=f1+f2;
}
}

int main()
{
int x;
fib(6,&x);
printf("%d\n",x);
return 0;
}
展开
 我来答
ylcqucc
2014-12-07 · TA获得超过1435个赞
知道小有建树答主
回答量:862
采纳率:0%
帮助的人:319万
展开全部

这是求斐波拉契数列的第6项,结果为8。


追问
每一步都是什么意思  可以解释一下吗
追答
这个要解释清楚,一两句话说不清楚。 给一个不是指针的情况,把这个看懂了,用指针实现的自然就明白了。

晚安!
帐号已注销
2014-12-07 · TA获得超过1134个赞
知道小有建树答主
回答量:742
采纳率:73%
帮助的人:412万
展开全部
程序运行结果为:8

就是一个函数的递归调用,当第一个参数等于1或者2时,给后面那个地址指向的变量赋值为1,当不满足等于1或者2时,两次对函数自身的调用。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
旋律轻轻飞
2014-12-07
知道答主
回答量:1
采纳率:0%
帮助的人:1281
展开全部
运行一下就知道了
追问
要的是流程   我也知道运行一下就出了。是8;关键是不明白为什么
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式