I didn't know that declaring value on namespace is same as declaring value on global.
So I want to change my code which don't use global variable.
How can I keep track of Fibonacci number from 0 ~ 20 without using global variable?
#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;
}
 
    