那位大侠帮看下,我这程序执行后输出的结果怎么和我想的结果不一样,,在for循环几次

2025-02-22 10:36:03
推荐回答(2个)
回答1:

你这程序是用来计算菲波那契数列第n项值的。不过你的主程序指定只要输出第2项,导致程序就只输出1。
改了一下,你试一下:

#include

int foo(int n){
int i;

if(n<3)
return 1;
for(i=0;ireturn foo(n-1)+foo(n-2);

}

}
int main(){
int n,i;
scanf("%d",&n);
for(i=1;i<=n;i++)
printf("foo(%d)=%d\n",i,foo(i));
return 0;

}

回答2:

最后输入1?