一个简单的递归函数,将数组元素反向打印
当我调用 print 语句上方的函数时,它给我索引 -1
outOfBoundException
。
当我在调用该函数之前打印时,它似乎有效。我想这与变量的深层复制有些相关,但我不知道正确的解释。有人可以给我提供合适的答案吗?
int[] arr = {1,2,3};
int n = arr.length;
print(arr,n-1);
这给出了错误:
public static void print(int[] arr, int n)
{
if(n<0)
return;
print(arr,--n);
System.out.println(arr[n]);
}
这不是:
public static void print(int[] arr, int n)
{
if(n<0)
return;
System.out.println(arr[n]);
print(arr,--n);
}