J'ai un problème avec ma liste doublement chainée, je ne peux créer plus de 2 éléments. Si j'en crée plus, ça plante. Je n'ai pas d'erreur ni de warning à la compilation. Pouvez-vous m'aider.
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50 #include<stdio.h> #include<stdlib.h> #include<conio.h> typedef struct antichaine{ int tab; struct antichaine *prec; struct antichaine *suiv; }chaine; void main(){ int i=2,n=3; chaine *debut=(chaine*)malloc(sizeof(struct antichaine)); chaine *tmp=(chaine*)malloc(sizeof(struct antichaine)); chaine *parcours=(chaine*)malloc(sizeof(struct antichaine)); debut->prec=NULL; debut->suiv=NULL; debut->tab=1; parcours=debut; do{ if(i<=n){ tmp->prec=NULL; tmp->suiv=NULL; tmp->tab=i; parcours->suiv=tmp; tmp->prec=parcours; tmp->suiv=NULL; parcours=parcours->suiv; i++; } if(i>n){ parcours->suiv=NULL; tmp=NULL; } }while(tmp!=NULL); while(parcours->prec!=NULL){ parcours=parcours->prec; } debut=parcours; while(debut!=NULL){ printf("%d\n",debut->tab); debut=debut->suiv; } }
Partager