Erreur segmentation fault (core dumped)

Fermé
Nicekloe Messages postés 79 Date d'inscription lundi 30 octobre 2017 Statut Membre Dernière intervention 31 mai 2018 - 4 avril 2018 à 13:59
yg_be Messages postés 22723 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 - 4 avril 2018 à 19:30
Bonjour à tous
Je vous remercie d'avance pour votre assistance. Je travail sur un tp en C. Le tp consiste en la création de fichier contenant des valeurs aléatoires générées automatiquement, ensuite écrire une fonction de tri et pour finir remplir un tableau avec les valeurs aléatoires générées venant du fichier et appliquer l'algorithme de tri sur le tableau. l'objectif du tp est de pouvoir calculer la complexité de l'algorithme de tri.
Cependant, je bloc à un niveau. J'ai un fichier qui génère 10 valeurs aléatoires. J'ouvre donc le fichier et j'essaie d'afficher les valeurs pour voir si ça fonctionne. Ci-dessous le code :

p_fichier = fopen("fic10" , "r");
int y=0;

while(!feof(p_fichier))
{
int *x;
fscanf(p_fichier, "%d\n", x);
printf("%d\n", *x);
}
fclose(p_fichier);


Lorsque j'exécute le programme, j'ai le message "segmentation fault(core dumped)" qui s'affiche à l'écran.
J'ai fait des recherches dessus, mais rien n'y fait. J'espère sincèrement que vous pourriez me venir en aide.

PS : j'utilise Linux et l'éditeur gEdit pour écrire mon programme.

1 réponse

yg_be Messages postés 22723 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476
4 avril 2018 à 19:30
bonsoir, il me semble que tu déclares x comme un pointeur, mais que tu ne précises pas vers quoi il pointe.
je suggère plutôt de déclarer x comme un entier, et, bien sur, d'en adapter l'utilisation.
ou bien de faire pointer x vers y, qui semble ne servir à rien.
1