Liste chainée simple..
AntoninMich
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour à tous, je suis débutant en C et j'aimerai simplement créer une liste chainée composée de 3 chainons. Chaque chainon serait composé d'un Nom à afficher et d'un pointeur vers le chainon suivant. Voici mon programme, le problème c'est qu'il ne fonctionne pas :/ Quelqu'un saurait m'en expliquer la cause ?
Merci!
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
struct Cellule
{
char Nom[30];
struct Cellule * PtrSvt;
};
int main()
{
struct Cellule *Ptr=NULL;
int i;
i=0;
while(i < 3)
{
printf("\n Nom ?:");
gets(Ptr->Nom);
printf("%s",Ptr->Nom);
i++;
Ptr=Ptr->PtrSvt=NULL;
}
return 0;
}
Merci!
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
struct Cellule
{
char Nom[30];
struct Cellule * PtrSvt;
};
int main()
{
struct Cellule *Ptr=NULL;
int i;
i=0;
while(i < 3)
{
printf("\n Nom ?:");
gets(Ptr->Nom);
printf("%s",Ptr->Nom);
i++;
Ptr=Ptr->PtrSvt=NULL;
}
return 0;
}
A voir également:
- Liste chainée simple..
- Liste déroulante excel - Guide
- Iphone 14 simple - Guide
- Liste déroulante en cascade - Guide
- Liste code ascii - Guide
- Simple pdf - Télécharger - PDF
1 réponse
Bonjour,
Merci pour la prochaine fois d'utiliser la balise "code c". Exemple :
<"code c">/*ici tu mets ton code*/<"/code"> (sans les guillemets).
gets(Ptr->Nom);
A ne pas utiliser. Il vaut mieux utiliser fgets().
Ptr=Ptr->PtrSvt=NULL;
Que veux-tu faire avec ton =NULL ? C'est en trop.
Sinon, il manque les allocations pour initialiser d'autres noeuds. J'ai l'impression que le principe n'est pas très bien compris. Je te conseille donc la lecture du lien suivant : http://fr.openclassrooms.com/informatique/cours/les-listes-chainees-2
Bon courage.
Cdlt,
Merci pour la prochaine fois d'utiliser la balise "code c". Exemple :
<"code c">/*ici tu mets ton code*/<"/code"> (sans les guillemets).
gets(Ptr->Nom);
A ne pas utiliser. Il vaut mieux utiliser fgets().
Ptr=Ptr->PtrSvt=NULL;
Que veux-tu faire avec ton =NULL ? C'est en trop.
Sinon, il manque les allocations pour initialiser d'autres noeuds. J'ai l'impression que le principe n'est pas très bien compris. Je te conseille donc la lecture du lien suivant : http://fr.openclassrooms.com/informatique/cours/les-listes-chainees-2
Bon courage.
Cdlt,