Retour d'un mauvais résultat pointeur tableau

Fermé
dipouede Messages postés 150 Date d'inscription dimanche 29 juillet 2007 Statut Membre Dernière intervention 20 février 2011 - 10 juin 2010 à 12:16
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 11 juin 2010 à 08:10
Bonjour tout le monde, voila je débute en C et il m'arrive un petit problème :

int sommetableau( int tablo[], int tailletablo );



int main(int argc, char *argv[])
{
int tableau[5], i;
for (i=0 ; i<5 ; i++)
{
tableau[i]=1;
}
printf(" la somme du tableau de 5 nombres vaut : %d\n", sommetableau(tableau,5));
system("PAUSE");
return 0;
}



int sommetableau( int tablo[], int tailletablo )
{
int i, somme;
for (i=0 ; i<tailletablo ; i++);
{
somme = somme + tablo[i];
}
return somme;
}

comme vous pouvez le voir j'essaye de faire la somme des valeurs enregistrées dans le tableau,

et il me retourne ( si je comprends bien ) la somme des adresses des variables qui sont dans le tableau. j'ai beau mettre des "*" ou des "&" le problème reste le même.

pourriez vous m'expliquez comme changer cela?
d'avance je vous remercie



A voir également:

3 réponses

Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
10 juin 2010 à 12:44
La seule erreur possible que je vois rapidement, c'est de mettre somme à 0
Et j'ai testé avec succès.
0
dipouede Messages postés 150 Date d'inscription dimanche 29 juillet 2007 Statut Membre Dernière intervention 20 février 2011 1
10 juin 2010 à 20:21
Quand je met somme = 0 je me retrouve avec le même problème
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
11 juin 2010 à 08:10
int sommetableau( int tablo[], int tailletablo )
{
  int i, somme=0;
  for (i=0 ; i<tailletablo ; i++);
  {
    somme = somme + tablo[i];
  }
  return somme;
}
Fonctionne très bien chez moi.
quel est ton compilateur ?
essai, sans garantie, de modifier ta fonction en :
int sommetableau( int *tablo, int tailletablo )
Il y a normalement une conversion automatique de tableau vers pointeur.
0