J'essaie d'imprimer le résultat de ma somme retournée mais pour une raison quelconque, il imprime 0, mais quand je vérifie la somme à l'intérieur de la fonction, elle réalise correctement son objectif. Par exemple si je passe dans un tableau de 10 items chacun égal à leur index (0 ... 9) la somme à l'intérieur de la fonction est 45 mais quand je l'imprime dans main() il imprime 0. Je suis vraiment confus Pour dire le moins.Récurrence Sum of Array
Voici ma fonction, que j'appel à l'aide:
printf("%d\n", addArray3(arrayA, 9, 0));
Pour clarifier, Arraya est un pointeur sur un tableau 10 item'd d'entiers.
// Sums array using recursion
int addArray3(int (*arrayA)[], int n, int sum){
if (n<0){
return sum;
} else {
sum += (*arrayA)[n];
}
addArray3(arrayA, --n, sum);
}
Si quelqu'un peut éclaircir cela, je l'apprécierais vraiment, merci!
Sûrement votre compilateur vous donne un avertissement lorsque vous compilez ce code. N'ignorez pas les avertissements! – kaylum