关于编写Fibonacci数列(f(n)=f(n-1)+f(n-2))的问题

nimingzhe2008 2011-04-05 08:03:29
题目:
用递归方法编函数,求Fibonacci数列的第N项。
我的代码:

#include<stdio.h>
#include<stdlib.h>
int f(int n)
{
int p;
if(n=1)
p=1;
if(n=2)
p=1;
p=f(n-1)+f(n-2);
return p;
}
void main()
{
int a;
printf("请输入N值");
scanf("%d",&a);
printf("%d",f(a));
}
运行时出现异常
cp 196 8.exe 中的 0x002f13d9 处最可能的异常: 0xC00000FD: Stack overflow
请高手帮忙挑错
...全文
2387 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
沭水河畔 2011-04-05
  • 打赏
  • 举报
回复
范围->返回。
nimingzhe2008 2011-04-05
  • 打赏
  • 举报
回复
6楼正解,谢谢大家
沭水河畔 2011-04-05
  • 打赏
  • 举报
回复
6楼正解,n=1和2时,楼主为p赋了值但没有范围,接下来就会执行f(-1)这样未定义的代码,所以报错。
nimingzhe2008 2011-04-05
  • 打赏
  • 举报
回复
5楼说的有道理
jialejiahi 2011-04-05
  • 打赏
  • 举报
回复
#include<stdio.h>
#include<stdlib.h>
int f(int n)
{
if(n==1 || n==2)
return 1;
else
return f(n-1)+f(n-2);
}
void main()
{
int a;
printf("请输入N值");
scanf("%d",&a);
printf("%d\n",f(a));
}
luciferisnotsatan 2011-04-05
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 jialejiahi 的回复:]

if(n=1) --> if(n==1)
[/Quote]

建议写成 1==n 这种格式,如果漏了个 = ,编译器就能发现
nimingzhe2008 2011-04-05
  • 打赏
  • 举报
回复
按2楼改完后,我只输入3,运行就异常了
luciferisnotsatan 2011-04-05
  • 打赏
  • 举报
回复
默认的栈大小为1M,你可要设置编译开关,把栈扩大
jialejiahi 2011-04-05
  • 打赏
  • 举报
回复
if(n=1) --> if(n==1)
luciferisnotsatan 2011-04-05
  • 打赏
  • 举报
回复
你的输入是多少?太大的话,递归太深,导致栈溢出了。
问题描述】 【问题描述】编写函数f,功能是用递归的方法求斐波那契数列的第n项,函数原型为 int f(int n),在主函数中输入一个正整数n,调用函数f求出斐波那契数列的第n项,并在主函数中输出。 斐波那契数列:1,1,2,3,5,8,13,21…… 【输入形式】3 【输出形式】2 【样例输入】6 【样例输出】8 【问题描述】编写函数f,功能是用递归的方法求斐波那契数列的第n项,函数原型为 int f(int n),在主函数中输入一个正整数n,调用函数f求出斐波那契数列的第n项,并在主函数中输出。 斐波那契数列:1,1,2,3,5,8,13,21…… 【输入形式】3 【输出形式】2 【样例输入】6 【样例输出】8 【问题描述】编写函数f,功能是用递归的方法求斐波那契数列的第n项,函数原型为 int f(int n),在主函数中输入一个正整数n,调用函数f求出斐波那契数列的第n项,并在主函数中输出。 斐波那契数列:1,1,2,3,5,8,13,21…… 【输入形式】3 【输出形式】2 【样例输入】6 【样例输出】8 【问题描述】编写函数f,功能是用递归的方法求斐波那契数列的第n项,函数原型为 int f(int n),在主函数中输入一个正整数n,调用函数f求出斐波那契数列的第n项,并在主函数中输出。 斐波那契数列:1,1,2,3,5,8,13,21…… 【输入形式】3 【输出形式】2 【样例输入】6 【样例输出】8 斐波那契数列:1,1,2,3,5,8,13,21…… 【输入形式】3 【输出形式】2 【样例输入】6 【样例输出】8

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧