#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;
}
答案 0 :(得分:1)
假设这是C,您应该使用++i
。为什么?
i++
递增i,但返回i
。
++i
递增i并返回1+1
。
使用i++
,您继续使用相同的i
值调用递归函数。
答案 1 :(得分:0)
i ++在调用print_array_1后使用后增加i ,因此每次调用都会得到i = 0.