/* if i change line 10 to "print_array_1(a, n, ++i)" or "print_array_1(a, n, i+1)", then this code runs well.*/
#include<iostream>
#include<cstdio>
using namespace std;
void print_array_1(int a[], int n , int i)        // n = size of array,   i = start index
{
    if(i>=n) return;
    printf("%d\n",a[i]);
    print_array_1(a, n, i++);
}
int main()
{
    int arr[] = {1, 2, 3, 4, 5};
    int n = 5;
    print_array_1(arr, n, 0);
    return 0;
}
 
     
     
    