Somme tableau c

Bonjour,


mon code ne m'affiche pas la somme

code c :

#include <stdio.h>
#include <stdlib.h>

int sommeTableau(int tableau[], int tailleTableau);

//------------------------------------------//

int main(int argc, char *argv[])
{ //debut du main

int tableau[4]={0,1,2,3};
int somme = sommeTableau(tableau, 4);
printf("la somme du tableau est : %d\n", somme);
} // fin du main

int sommeTableau(int *tableau, int tailleTableau)
{
int i=0;
int somme;
for(i ; i<tailleTableau ; i++){
somme += tableau[i];
}
return somme;
}

3 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    Bonjour,
    vous avez oublié dinitialiser la variable somme à 0.
    Cdlt
    1. Modérateur
      Hello,

      int sommeTableau(int *tableau, int tailleTableau)
      {
      int i;
      int somme=0;
      for(i =0 ; i<tailleTableau ; i++){
      somme += tableau[i];
      }
      return somme;
      }

      donnera déjà de meilleurs résultats....

      Johan
      1. oui ca marche.Faut-il absolument l'initialiser a 0 ?
        Merci encore
        1. Contributeur
          Par défaut, une variable (sauf cas particulier) n'est pas initialisée en C. Elle prendra la valeur qui se trouve dans le stack. Ainsi vous aurez tout sauf le résultat attendu. Voilà pourquoi, il faut initialiser.

          Cdlt,