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. Hum nom ça marche comme ça !
    Par contre ça résout pas le problème du 0 :D
    1. 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.
    2. 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