问题 c++递归

来源:百度知道 编辑:UC知道 时间:2024/07/06 18:51:23
#include<iostream>
using namespace std;
int fib(int n)
main ()
{
int n;
cin>>n;
cout<<fib(n)<<endl;
}
int fib(int n)
{
if(n=1||n=2)
return 1;
else
return fib(n-2)+fib(n-1);
}
错在哪里?

这是典型的上台阶问题啊,错误出在if判断语句上,
应该是
if(n==1 || n==2)
=和==的区别应该知道吧,呵呵

#include<iostream>
using namespace std;
int fib(int n);
int main ()
{
int n;
cin>>n;
cout<<fib(n)<<endl;
return 0;
}
int fib(int n)
{
if(n==1||n==2)
return 1;
else
return fib(n-2)+fib(n-1);
}