Somme tableau c

Fermé
yaldoo - 14 août 2010 à 16:23
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 14 août 2010 à 19:14
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;
}
A voir également:

3 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 836
14 août 2010 à 18:12
Bonjour,
vous avez oublié dinitialiser la variable somme à 0.
Cdlt
0
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 934
14 août 2010 à 18:17
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
oui ca marche.Faut-il absolument l'initialiser a 0 ?
Merci encore
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 836
14 août 2010 à 19:14
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