Retour d'un mauvais résultat pointeur tableau

dipouede Messages postés 157 Statut Membre -  
Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   -
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

3 réponses

  1. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    La seule erreur possible que je vois rapidement, c'est de mettre somme à 0
    Et j'ai testé avec succès.
    0
  2. dipouede Messages postés 157 Statut Membre 1
     
    Quand je met somme = 0 je me retrouve avec le même problème
    0
  3. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    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