#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;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 2014-12-07
程序运行结果为:8
就是一个函数的递归调用,当第一个参数等于1或者2时,给后面那个地址指向的变量赋值为1,当不满足等于1或者2时,两次对函数自身的调用。本回答被网友采纳
就是一个函数的递归调用,当第一个参数等于1或者2时,给后面那个地址指向的变量赋值为1,当不满足等于1或者2时,两次对函数自身的调用。本回答被网友采纳
第2个回答 2014-12-07
运行一下就知道了追问
要的是流程 我也知道运行一下就出了。是8;关键是不明白为什么