Я написал рекурсивную функцию для суммирования элементов в массиве. Я озадачен и смущен тем, как ведет себя следующая программа.Рекурсивная функция для добавления элементов в массив
public class Recursion{
private static int array[] = new int[]{4,6,7,2,3};
public static void main(String argv[]){
int result = sum(0 , 5);
System.out.println("The result is "+result);
}
private static int sum(int number, int index){
if (index==0){
return 0;
}
return number + sum(array[index-1], index-1) ;
}
}
Вышеупомянутая программа возвращает 18 в качестве ответа. Может кто-то, пожалуйста, более подробно рассказать о вышеуказанной программе, как о том, где я ошибаюсь.