У меня есть функция, которая принимает массив a[]
и его длину n
. Я должен вычислить сумму чисел внутри массива. Я написал эту рекурсивную функцию:Рекурсивная функция для целых чисел
int somma(int a[], int n)
{
if (n == 0) { return 0; }
else {return a[n] + somma(a, n-1);}
}
И я называю это в моем main()
таким образом:
int main() {
int array[5], ris;
printf("Type the numbers of the array: \n");
for(int i=0; i<4; i++)
{
scanf("%d", &array[i]);
}
printf("\nThe sum is: %d.", somma(array,4));
getch();
return 0;
}
Если массив содержит array = [2; 4; 7; 5]
Printf должен показать 18 (2 + 4 + 7 + 5) , Кстати, функция возвращает мне 88, вы можете мне помочь?
Я использую wxDevC++.
Не забывайте, что 'a [0]' также является элементом массива, который 'somma' пропускает. – Kninnug