Erreur de segment en c

Fermé
iba69 - 2 juil. 2010 à 21:11
ghuysmans99 Messages postés 2496 Date d'inscription jeudi 14 juillet 2005 Statut Contributeur Dernière intervention 5 juin 2016 - 3 juil. 2010 à 11:34
Bonjour,
j'ai fait un petit programme en C et apparament la compilation marche mais quand j'execute dès la deuxieme ligne ça m'affiche erreur de segmentation et j'ai vraiment tout essayer pour essayer dele resoudre sans succés.
voici le code que j'ai tapé,alors s'il vous plait dite moi pourquoi j'ai ce message qui s'affiche.


#include<stdio.h>
#include<malloc.h>
void allouer(float *t,int n)
{
printf("\n");
printf("donner la taille du tableau : ");
scanf("%d",&n);
t=(float*)malloc(n*sizeof(float));
}
void saisie_tab(float *t,int n)
{
int i;
for(i=0;i<n;i++)
{
//for(j=0;j<n;j++)
//{
printf("donner t[%d]= ",i);
scanf("%f",&t[i]);
}
}
void affiche_tab(float *t,int n)
{
int i;
for(i=0;i<n;i++)
{
//for(j=0;j<n;j
//{
printf("%f\t",t[i]);
}
}

//recherche d'un element
void recheerche(float *t,int n)
{
int i,pos;float x;
printf("\n");
printf(" donner l'element à rechercher ");
scanf("%f",&x);
i=0;
while(i<n)
{
if(t[i]==x)
{
pos=i;
}
i++;
}
printf("%f est à la position %d du tableau ",x,pos);
printf("\n");
}

// occurence d'un element
void occurence(float *t,int n)
{
int i,pos;float x;
printf("donner l'element à compter ");
scanf("%f",&x);pos=0;
for(i=0;i<n;i++)
{
if(x==t[i])
pos=pos+1;
}
printf("%f apparait %d fois dans le tableau ",x,pos);
}
main()
{
int n;float *t;
allouer(t,n);
saisie_tab(t,n);
}

1 réponse

ghuysmans99 Messages postés 2496 Date d'inscription jeudi 14 juillet 2005 Statut Contributeur Dernière intervention 5 juin 2016 338
3 juil. 2010 à 11:34
Vérifie tes pointeurs ...
0