Code C à débugger ( facile ! )

Résolu
Bonjour,
Pourriez vous me dire pourquoi ici la valeur de "moyenne" vaut 0 lorsqu'elle est écrite dans le printf ?

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

int main(int argc, char *argv[])
{
	long tableau[4] = {1, 2, 3, 4}, resultat = 0, tailleTableau = 4;
	//Exercice 1 somme des termes
	printf("La somme des termes du tableau fait %ld \n",sommeTableau(tableau, 4));
	//Exercice 2 moyenne des termes
    printf("La moyenne des termes du tableau fait %ld \n",moyenneTableau(tableau, 4));
	system("PAUSE");
	return 0;
}


long sommeTableau(long tableau[], long tailleTableau)
{
	long i, resultat = 0;

    for( i = 0 ; i < tailleTableau ; i++)
	{
		resultat = tableau[i] + resultat;
	}
	return resultat;
}

double moyenneTableau(long tableau[], long tailleTableau)
{
	long i, total = 0;
	double moyenne = 0;

	for( i = 0 ; i < tailleTableau ; i++ )
	{
		total = tableau[i] + total;
	}
	moyenne = total/tailleTableau;
	return moyenne;
}



Merci !

4 réponses

  1. je croi quant tu declare tes fonction avant le main() sa va fonctionner
    1. une autre chose
      moyenne est de type double pas de type long
  2. Ca y est j'ai trouvé ^^ une erreur vraiment nulle :
    Dans le printf, il fallait mettre %lf et non %ld
    1. Contributeur
      C'est ce que je voulais dire.
  3. Hum nom ça marche comme ça !
    Par contre ça résout pas le problème du 0 :D