我不知道在名稱空間上聲明值與在全局聲明值相同。如何將斐波那契數字推入外部數組?
所以我想改變我的代碼,不使用全局變量。
如何在不使用全局變量的情況下跟蹤0〜20的斐波那契數?
#include <iostream>
using namespace std;
int Fibonacci(int num);
namespace Fib{
int arr[100];
int num;
}
int main(){
cin >> Fib::num;
Fibonacci(Fib::num);
return 0;
}
int Fibonacci(int n){
if(Fib::num < 1) return -1;
int result = 0;
int idx;
result = (n == 0) ? 0 : (n == 1) ? 1 : Fibonacci(n-1) + Fibonacci(n-2);
Fib::arr[n] = result;
if(n == Fib::num){
for(idx=1; idx < n+1 ; idx++){
cout << Fib::arr[idx] << " ";
}
cout << endl;
}
return result;
}
你應該真的閱讀[this](http://stackoverflow.com/questions/4211827/why-and-how-should-i-use-namespaces-in-c) – NathanOliver
你應該真的閱讀[這些](http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list)。 –
這不就是你使用類的原因嗎? –