Je suis débutant et j'ai un problème avec ma liste doublement chainée. Quand j'essaie de créer plus de 2 éléments, ça plante. Je n'ai aucune erreur de compilation ni de warning. Voici mon code :
#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;
}
}