pls*_*elp 2 c++ recursion global-variables fibonacci
我试图让这个递归程序计算它自己调用多少次,我打算使用一个全局变量来保持计数,但是eclipse因为某些原因没有识别它.这是我的代码:
#include <iostream>
#include <cstdlib>
using namespace std;
int count = 0;
int fib(long int);
int main()
{
long int number;
cout << "Enter a number => ";
cin >> number;
cout << "\nAnswer is: " << fib(number) << endl;
return 0;
}
int fib (long int n)
{
//cout << "Fibonacci called with: " << num << endl;
if ( n <0 )
{
cout <<" error Invalid number\n";
exit(1);
}
else if (n == 0 || n == 1)
return 1;
else{
count++;
return fib(n-1) + fib(n-2);}
cout << count;
}
Run Code Online (Sandbox Code Playgroud)
每当我最初声明计数时,它甚至不会将其识别为变量,有人知道这个的原因吗?
你的问题在这里:
using namespace std;
Run Code Online (Sandbox Code Playgroud)
它std::count 从算法标题中引入,所以现在count是模棱两可的.这就是人们被告知不要这样做的原因using namespace std;.相反,删除该行并std::cout代替cout(和相同的cin和endl).