salut,j'essaye de comprendre le principe des listes chaineés j'ai quelque informations mais je prefere ne pas chercher sur les sites la maniere dont faire une liste chaineé sans la comprendre donc je vien de faire une liste chaineé et une fonction pour la parcourir et l'afficher voici le code:
malheureusement sa marche pas sa ce compile bien mais quand je l'execute sa affiche juste les deux premiers nombre decimaux et puis sa envoie l'erreur du genre "le programme a rencontré un probleme et doi fermer 'envoyer','ne pas envoyer'".
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 #include <stdlib.h> #include <stdio.h> struct test { int i; int c; struct test *suiv; }; void main() { void affiche(struct test *list); FILE *fi; int c; struct test *nouveau; struct test *premier; nouveau=premier; if((fi=fopen("C:\\test.txt","r"))==NULL) {printf("err.ouv.fich"); getchar(); return(1);} while(c!=EOF) { c=fscanf(fi,"%d %d",&(nouveau->i),&(nouveau->c)); nouveau=nouveau->suiv; nouveau=(struct test *)malloc(sizeof(struct test)); } free(nouveau); nouveau=NULL; fclose(fi); affiche(premier); getchar(); } void affiche(struct test *list) { struct test *temp; temp=list; while(temp!=NULL) { printf("%d %d\n",temp->i,temp->c); temp=temp->suiv; } }
veuillez decouvrir l'erreur plz.
merci d'avance.
Partager