f(n)=fib(n-1)+fib(n-2);
f(n)未定义,且定义时会因为不允许用特殊字符而出错
所以,int f=fib(n-1)+fib(n-2);
return f;就可以了
我没有看完你这个程序~
但是如果你就是按照这个直接编译的~
那就是你int fib(int n);这个出错了~
函数声明位置错了~
应该在main外面~
呵呵~
你是不是这个意思?
想用递归?
#include
using namespace std;
void main()
{
int n;
int fib(int n);
cout<<"输入n的值:"<
cout<<"fib(n)的值为:"<
}
int fib(int n)
{
if(n==1) return 1;
if(n==2) return 2;
if(n>2)
return fib(n-1)+fib(n-2);
}