Petit problème avec une File d'entier

Résolu
Akyro Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
[Dal] Messages postés 6205 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
J'ai du faire une petite erreur. Je doit faire une fonction primitive pour enfiler ma pile, ce qui va permettre de rajouter un élément à l'intérieur. Mon problème arrive lorsque que j'utilise mon else.
int enfiler(File *pf,int elt){

Maillon * tmp;
tmp=(Maillon*)malloc(sizeof(Maillon));
if(tmp == NULL){
return 1;
}
tmp->val=elt;

if(estFileVide(pf)){
tmp->suiv=tmp;
}
else{
tmp=(*pf)->suiv;
(*pf)->suiv=tmp->suiv;
}
  • pf=tmp;

return 0;
}
A voir également:

3 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
bonjour,
je me demande si il n'y a pas une confusion entre le type Maillon et le type File.
la déclaration de ces types est-elle secrète?
0
Akyro Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
/**
  • \struct Maillon
  • \brief Maillon contenant une valeur et l'addresse d'un maillon suivant.
  • /


typedef struct mail
{
int val;
struct mail * suiv;
}Maillon;
typedef Maillon * File;




Je vous transmet la structure de ma file
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
Quelle erreur rencontres-tu?
Comment as-tu initialisé pf?
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
quand tu écris
pf=tmp
, ne supposes-tu pas que les deux variables sont de même type?
0
[Dal] Messages postés 6205 Date d'inscription   Statut Contributeur Dernière intervention   1 105 > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 
@yg_be :

Je pense qu'il a écrit
*pf=tmp;
et pas
pf=tmp;
.

Comme il n'a pas posté son code avec les balises de code du forum, l'étoile en début de ligne a été transformée en bullet-point html par le forum.

Il faudrait qu'Akyro poste son code correctement.

@Akyro : utilise le bouton de l'éditeur du forum pour poster le code entre balises appropriées au langage C.

Si tu ne sais pas comment faire, suit ces indications : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
0
Akyro Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
Excuser moi l'erreur venais simplement de ma fonction estFileVide qui devait être mal ecrit merci quand même pour votre aide.
0
[Dal] Messages postés 6205 Date d'inscription   Statut Contributeur Dernière intervention   1 105
 
de rien, la prochaine fois, pense à utiliser les balises de code du forum pour poster correctement ton code, cela nous évitera de trouver des erreurs là où il n'y en a pas :-)
0