Bonjour les ami(e)s :
j'ai un problème dans une fonction qui cree une liste chainnee , voici le code :
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
 
#include<stdio.h>
#include<stdlib.h>
typedef struct noeud {
  char c ;
  struct noeud* next ;
}Noeud ;
 
typedef Noeud* car ;
 
car getNode(){
      car cellule=malloc(sizeof(Noeud)) ;
          puts("give me the data :  ");
          scanf("%c",&cellule->c);
          cellule->next=NULL;
      return cellule;
}
 
car creatList(int n){
    int i;
    car listhead,temp;
    listhead=malloc(sizeof(Noeud));
    listhead=getNode();
    temp=listhead;
    for(i=1;i<n;i++){
        temp->next=getNode();
        temp=temp->next;
    }
    return listhead;
 
}
 
car ajouterEnFin(car T,char x){
    car temp=malloc(sizeof(Noeud));
    temp=T;
    while(temp) temp=temp->next;
    Noeud data ;
    data.c=x;
    data.next=NULL;
    temp=&data;
    return T ;
}
 
car ajouterEnTete(car T, char x){
      Noeud data ;
      data.c=x;
      data.next=T;
      T=&data;
      return T;
}
 
int longueur(car T){
    car temp=T;
    int s=1;
    temp=malloc(sizeof(Noeud));
    while(temp){
        temp=temp->next;
        s++;
    }
    return s;
}
 
void affichage(car temp){
  while(temp){
    printf("%c\t",temp->c);
    temp=temp->next;
  }
  printf("\n");
}
 
int main(int argc, char const *argv[]) {
  int n;
  printf("give the length of the list : \t");
  scanf("%d",&n);
  car listhead,temp;
  listhead=creatList(n);
 
 
 
 
  return 0;
}
les fonctions qui constuisent une liste sont getNode() et creatList ..
j'ai pas pu remarque mon erreur .. et Merci