Я пишу код на C для улучшения изучения рекурсивных функций.Моя функция должна вычислять среднее из набора чисел, полученных в массиве.Я должен вычислить сумму чисел в массиве, даже чтобы вернуть ее, то же самое я должен вычислить среднее значение внутри функции (я напечатал это), но когда я делаю возврат, основная функция всегда получает номер мусора.
Это мой код:
#include <stdio.h>
#include <stdlib.h>
float sum (int array[], int n)
{
float f; float z=n;
if (n==0) return (array[n]);
f=(array[n]+sum(array,n-1));;
return f/z;
}
int main ()
{
int *array, n, i;
float result;
printf("\nDimension de tu array: ");
scanf("%d", &n);
array=(int *) malloc (n*sizeof (int));
for (i=0; i<n; i++)
{
printf("Valor en A[%d]: ", i+1);
scanf("%d", &array[i]);
}
result=sum(array,n);
printf("\n\nEl promedio es igual a: %f ", result);
}