shadow
29 oct. 2010 à 14:10
sur ton printf dans ta fonction, tu donne %ld soit un nombre décimal, alors que tu as déclaré plus haut que c'était un int. donc il faut que tu mette %d et non %lf ou alors que tu change le type de ta variable quand tu la déclare.
ensuite lors de ton scanf tu met %d ce qui est exact car tu veu bien un entier. mais ton paramètre est incorect.
en effet tu lui indique ,tableau[i]. il va donc comprendre :" écris la valeur que l'on a entré sur la variable tableau[i]".
alors que tu veux écrire dans la case i de ton tableau.
il faut donc écrire : scanf("%d",&tableau[i]);
voici ton algo corrigé :
#include <stdio.h>
#include <stdlib.h>
int sommetableau(int *tableau, int tailletableau);
int main(int argc,char *argv[])
{
int tabl[5];
sommetableau(tabl,5);
return 0;
system("PAUSE");
}
int sommetableau(int *tableau, int tailletableau)
{
int i,somme=0;
for(i=0;i<tailletableau;i++)
{
printf("donner un nombre entier numero %d au hazard:\n",i);
scanf("%d",&tableau[i]);
somme=somme+tableau[i];
}
printf("voici la somme obtenu:%d",somme);
return somme;
}