这是斐波那契数列的递归实现#includestdio.hintfun(intn,int*s){intf1,f2;if(n==1||n==2)//对于1,2位,值都为1*s=1;else{fun(n-1,//当前位置的前一位,参数都是一样的fun(n-2,//当前位置的前二位*s=f1f2;//当前位置的值是前两位之和}}voidmain(){intx;fun(6,//传递第6位,以及一个变量的地址,用来计录第6位的值printf(\"%d\\n\",x);}斐波那契数列:1,1,2,3,5,8,13......fun6=fun5fun4=8fun5=fun4fun3=5fun4=fun3fun2=3fun3=fun2fun1=2fun2=1fun1=1像这种递归的,只有你慢慢去理解,你可以这样一步一步去看看,把6改成3;然后把运行的每一步都弄明白,然后再宏观地去看它,多练习递归是有点难的一个知识点追问懂了,没有学扎实,看错了,谢谢你了。。
|