Bonsoir, jai un probleme avec des liste chainee:
j'arrive a ajouter des maillons, il les affiche bien, sauf que pour les chaine de caracteres il me sort de caractere crypté genre:

prenom:╠╠╠╠╠╠╠╠ nom:╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠ note:1.000000

par contre quand je met direct la chaine de caracteres entre guillemets a l'ajout d'un maillon, la il le met bien:

nouvelElement->nom = "nicaloas";

ps: pas de probleme pour les entir ou float..

voici mes 2 fonctions en question:

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
typedef struct element element;
struct element
{
	char *nom;
	char *prenom;
	float note;
	struct element *suivant;
};
 
typedef element* llist;
//------------------------
llist ajouterQueue(llist liste){
 
	char nom[10]=0;
	char prenom[10];
	float note=0;
 
	element* nouvelElement;
	nouvelElement = (struct element *) malloc(sizeof(struct element));
 
	printf("nom:\n");
	scanf("%s",nom);
 
	printf("prenom:\n");
	scanf("%s",prenom);
 
	printf("note:\n");
	scanf("%f",&note);
 
    nouvelElement->nom = nom;
    nouvelElement->prenom = prenom;
    nouvelElement->note = note; 
    nouvelElement->suivant = NULL;
 
 
    if(liste == NULL)
    {
        return nouvelElement;
    }
    else
    {
        element* temp=liste;
        while(temp->suivant != NULL)
        {
            temp = temp->suivant;
        }
        temp->suivant = nouvelElement;
        return liste;
    }
 
}
 
//----------------
void afficherListe(llist liste)
{
    element* tmp = liste;
    while(tmp != NULL)
    {
        printf("prenom:%s nom:%s note:%f \n", tmp->nom,tmp->prenom,tmp->note);
        tmp = tmp->suivant;
    }
}