恶循环...
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);
}
.....结果是8,要分析过程.
还未想透
int fun(int n)
{
return((n==1||n==2)?1:fun(n-1)+fun(n-2));
}
void main()
{
printf("%d\n",fun(6));
getch();
}
这样一改好点