Partage
  • Partager sur Facebook
  • Partager sur Twitter

Erreur? calcul bizare...

    6 mai 2006 à 18:11:37

    Bonjour a tous. Je suis en train de coder un projet qui me permetrai de calculer la somme des valeurs d'un tableau. Voici comment je l'ai codé:

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

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

    int main(int argc, char *argv[])
    {
    long tablo1[3] = {1, 3, 2};
    sommeTableau(tablo1, 3);
    printf("la somme est %ld", sommeTableau);
    system("PAUSE");
    return 0;
    }

    long sommeTableau(long tablo1[], long tailleTableau)
    {
    long resultat = 0;
    long i = 0;
    for (i = 0 ; i < tailleTableau ; i++)
    {
    resultat = resultat + tablo1[i];
    }
    return resultat;
    }

    Il me donne comme résultat 4199177... Pouvez-vous m'indiquer l'erreur? Merci d'avance :)
    • Partager sur Facebook
    • Partager sur Twitter
      6 mai 2006 à 18:24:38

      printf("la somme est %ld", sommeTableau);

      Y a rien qui te choque dans cette ligne ? Tu n'aurais pas oublié une petite affectation au passage ?

      Citation : Pas de titre

      tt.c: In function 'main':
      tt.c:10: warning: format '%ld' expects type 'long int', but argument 2 has type 'long int (*)(long int *, long int)'
      tt.c:6: warning: unused parameter 'argc'
      tt.c:6: warning: unused parameter 'argv'


      • Partager sur Facebook
      • Partager sur Twitter
        6 mai 2006 à 18:27:03

        Utilise la balise code.

        Pour ton problème, tu appelle la fonction sans mémoriser le résultat et ensuite tu affiche l'adresse de la fonction en ne mettant que le nom.

        Déclare une variable résultat (par exemple) dans main() et affecte lui la valeur de retour de la fonction.
        Ou appelle directement la fonction dans le printf :
        printf("resultat : %ld", sommeTableau(tablo1, 3));

        • Partager sur Facebook
        • Partager sur Twitter
          6 mai 2006 à 18:32:00

          Merci beaucoup :D JE vois maintenant maon erreur et ça marche!! Encore merci, je vais pouvoir avancer dans le cours ^^
          • Partager sur Facebook
          • Partager sur Twitter

          Erreur? calcul bizare...

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown