Syntaxe au niveau de liste chainée c
Fermé
elwess20
Messages postés
26
Date d'inscription
samedi 1 janvier 2011
Statut
Membre
Dernière intervention
15 janvier 2011
-
Modifié par elwess20 le 8/01/2011 à 23:24
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 - 8 janv. 2011 à 23:01
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 - 8 janv. 2011 à 23:01
A voir également:
- Syntaxe au niveau de liste chainée c
- Liste déroulante excel - Guide
- Liste de diffusion whatsapp - Guide
- Liste déroulante en cascade - Guide
- Gertrude a préparé la liste des affaires à prendre pour l'excursion. juliette a modifié cette liste en utilisant le mode suivi des modifications proposé par le traitement de texte. - Guide
- Mise a niveau windows 7 vers 10 - Guide
4 réponses
KX
Messages postés
16733
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 janvier 2024
3 015
Modifié par KX le 8/01/2011 à 22:00
Modifié par KX le 8/01/2011 à 22:00
En fait ce n'est pas tes seules erreurs, voici ce que me dit Visual Studio.
Commence par corriger les erreurs de syntaxe...
La confiance n'exclut pas le contrôle
Commence par corriger les erreurs de syntaxe...
29 error C2040: '!=' : les niveaux d'indirection de 'char *' et de 'int' sont différents 29 error C2446: '!=' : pas de conversion de 'int' en 'char *' 37 error C2440: 'initialisation' : impossible de convertir de 'void *' en 'Liste *' 39 error C2275: 'tete' : utilisation non conforme de ce type comme expression 40 error C2065: 'nouveau' : identificateur non déclaré 40 error C2513: 'Liste *' : aucune variable déclarée avant '=' 41 error C2040: '!=' : les niveaux d'indirection de 'char *' et de 'int' sont différents 41 error C2446: '!=' : pas de conversion de 'int' en 'char *' 43 error C2059: erreur de syntaxe : ')' 43 error C2513: 'Liste *' : aucune variable déclarée avant '=' 44 error C2143: erreur de syntaxe : absence de ';' avant '->' 44 error C2143: erreur de syntaxe : absence de ';' avant '->' 44 warning C4091: '' : ignoré à gauche de 'Liste *' quand aucune variable n'est déclarée 59 fatal error C1071: fin de fichier inattendue dans un commentaire
La confiance n'exclut pas le contrôle
elwess20
Messages postés
26
Date d'inscription
samedi 1 janvier 2011
Statut
Membre
Dernière intervention
15 janvier 2011
Modifié par elwess20 le 8/01/2011 à 23:25
Modifié par elwess20 le 8/01/2011 à 23:25
merci bcp pour votre reponse,
j'ai corrigé les erreurs de syntaxe,mais il existe toujours les meme erreurs
j'ai corrigé les erreurs de syntaxe,mais il existe toujours les meme erreurs
KX
Messages postés
16733
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 janvier 2024
3 015
8 janv. 2011 à 22:40
8 janv. 2011 à 22:40
Tu utilises mal les typedef, et n'oublie pas les cast devant malloc.
Modifie cette partie du code :
Comme ceci :
Modifie cette partie du code :
typedef struct Liste Liste; struct Liste { char *fait; char *regle; struct Liste* psuivant; }; typedef Liste *Nouveau; typedef Liste * pcourant; typedef Liste * tete; ... Liste* Nouveau=malloc(sizeof(Liste));
Comme ceci :
struct Liste { char *fait; char *regle; struct Liste* psuivant; } *Nouveau, *pcourant, *tete; ... Nouveau=(Liste*) malloc(sizeof(Liste));
elwess20
Messages postés
26
Date d'inscription
samedi 1 janvier 2011
Statut
Membre
Dernière intervention
15 janvier 2011
Modifié par elwess20 le 8/01/2011 à 23:00
Modifié par elwess20 le 8/01/2011 à 23:00
merci bcp pour votre reponse,maintenant je n'ai pas des erreurs mais seulemnt erreur de segmentation,j'ai bien organisé mon code pour qu'il soit plus lisble .
j'ai utilise le printf pour savoir l'emplacement de l'erreur,et j'ai constaté qu'il se trouve dans cette partie
j'ai utilise le printf pour savoir l'emplacement de l'erreur,et j'ai constaté qu'il se trouve dans cette partie
tete=Nouveau; if((tab != NULL )||(tab !="regle")) { pcourant=(Liste*)malloc(sizeof (Liste)); pcourant->fait=tab; printf("%s\n",Nouveau->fait); if(tete!=NULL) { pcourant=tete; while(pcourant->psuivant != NULL) Nouveau->psuivant=pcourant; } Nouveau=tete; while(Nouveau !=NULL) { Nouveau=Nouveau->psuivant; printf("%s\n",Nouveau->fait);
KX
Messages postés
16733
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 janvier 2024
3 015
8 janv. 2011 à 23:01
8 janv. 2011 à 23:01
J'ai un avertissement pour ce code, il serait bon de regarder de ce côté là
38 warning C4700: variable locale 'tete' non initialisée utilisée