c语言 指点下

来源:百度知道 编辑:UC知道 时间:2024/05/16 23:58:59
请说明一下运算过程
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);
}

先走main,然后fun函数,把6赋给n,*s=x, 然后 判断n是否等于1或2,若是的话,则*s=1;若不是,则n=n-1,f1=*s;然后n=n-2,f2=*s;*s=f1+f2;,在输出x

菲薄纳齐数列的自虐型递归算法,这两天见过n次了,不知哪的高人把这么个函数写的让人起鸡皮疙瘩

函数递归调用,绕来绕去,烦