Erreur (segmentation fault) dans une fonction
Bonjour,
Il y a un petit problème dans la fonction lancer_requete que je ne parviens pas a trouver. C’est compilable mais dès que je commence à écrire, il sort avec une erreur (j’utilise Dev C++) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
typedef struct Spool{
char ch[30];
int p;
int etat;
struct Spool*suivant;
}*sp;
sp lancer_requete(sp req)
{
printf("nom du document");
scanf("%s",req->ch);
printf("priorete de la requete");
scanf("%d",req->p);
printf("etat");
scanf("%d",req->etat);
return(req);
}
void imprimer(sp req)
{ sp A,courant;
courant=req;
while(courant->suivant)
{ if(courant->etat==1)
{
A=courant;
courant=courant->suivant;
}
}
courant=req;
while(courant)
if ((courant->etat==1)&&(courant->p < req->p)) req=courant;courant=courant->suivant;
printf("%s a imprimer",req->ch);
}
main()
{ sp y;char f;
printf("[A]:inserer une requete dans le spool\n[I]:imprimer\n[Q]:Exit\n");
do
{
scanf("%c",&f);switch (f)
{
case 'L': printf("[A]:inserer une requete dans le spool\n[I]:imprimer\n[Q]:Exit\n");
break;
case 'A': y=lancer_requete(y);
break;
case 'I': imprimer(y);
break;
}
}while(f!='Q');
getch();
} |
Merci.