#include <iostream>
using namespace std;
void printfn(int arr[], int n){
if( n == 2 ){
arr[0] = 0;
arr[1] = 1;
return ;
}
printfn(arr, n-1);
arr[n-1] = arr[n-2] + arr[n-3];
}
int main()
{
int n;
cin >> n;
int arr[n];
printfn(arr, n+1);
cout << arr[n];
return 0;
}
In this problem when I try we can clearly see that array arr
has been defined on the indices 0
to n-1
.
When the last line of the code cout << arr[n]
is executed, it gives correct answer but that should not happen as my array's maximum permissible index is n-1
.
Code Context : This code is for printing the nth number in a fibonacci series of n numbers.
I have used vscode's debugger but it shows the elements of the array till n-1
only.
Where is this nth element stored? What am I missing?