Somme tableau c

yaldoo -  
fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   -
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

  1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    Bonjour,
    vous avez oublié dinitialiser la variable somme à 0.
    Cdlt
    0
  2. jisisv Messages postés 3678 Statut Modérateur 936
     
    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
    0
  3. yaldoo
     
    oui ca marche.Faut-il absolument l'initialiser a 0 ?
    Merci encore
    0
    1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
       
      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,
      0