Bonjour,

quand je compile ce programme:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Liste enlister (Liste liste, int v){
  if (estListeVide (liste)){
      liste->valeur=v;
      liste->lien=NULL;
      return liste;
    }
  else {
    if (estElementListe (liste,v)){
      printf ("L'entier %d est deja present\n", v);
      return liste;
    }
    else {
      Liste ptrcourant=liste;
      Liste ptrprecedent;
      while (ptrcourant !=NULL && (v>(ptrcourant->valeur))){
        ptrprecedent=ptrprecedent;
        ptrcourant=(ptrcourant->lien);
      }
      Element newelement;
      newelement.valeur=v;
      newelement.lien=ptrcourant;
      ptrprecedent->lien = &newelement;
      return liste;
    }
  }
}
j'ai:
Erreur de segmentation : Core dumped.

Y a-t-il une erreur de syntaxe dans le programme?
Je précise que le type utilisé est:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
typedef struct element {int valeur;struct element *lien} Element;
typedef Element *Liste;
et que le programme ci-dessus vise à enlister un entier dans une liste triée d'entiers sans doublons .

Merci!