Posez votre question Signaler

Liste chaîné en C

newgame - Dernière réponse le 24 avril 2009 à 08:40
Bonjour,
voici mon prog:
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
struct liste
{
int val;
struct liste *suiv;
};
typedef struct liste tliste;
tliste inser(tliste l, int x)
{
tliste p;
p=(tliste)malloc(sizeof(struct liste));
p->val=x;
p->suiv=p;
l=p;
return l;
}
tliste suptete(tliste l)
{
tliste res;
if(l!=NULL)
{
res=l->suiv;
free(l);
return res;
}
else
return NULL;
}
void affiche(tliste l)
{
printf("l'élément est %d",l->val):
}
void main()
{
int x,n;
tliste l;
clrscr();
printf("donnez le nbr de cel");
scanf("%d",&n);
for(i=0;i<=n;i++)
{
printf("donnez l'entier");
scanf("%d",&x);
inser(l,x);
}
getch();
}
le compilateur se bloque toujour sur la ligne 14???c'est quoi le pbm????
veuillez me signal d'autre erreur s'il ya
Lire la suite 

Liste chaîné en C »

5 réponses
Réponse
+1
moins plus
Ni 'p', ni 'tliste' ne sont des pointeurs.
Il faudrait plutôt écrire:
tliste* p;
p = (tliste*)malloc(sizeof(struct liste));
loupius - 22 avril 2009 à 00:37
oui, et même:
tliste* p;
p = (tliste*)malloc(sizeof(tliste));
newgame - 23 avril 2009 à 22:40
bonjour,
oui ça marche ton truc il me rest mnt l'affichage pour voir si l'insertion s'est faite correctement
j'ai pensé à ça:
void affiche(tliste *l)
{
printf("le premier élément de liste est %d",l->val);
}
mais à l'exécution le pgm m'affiche autre chose (à priori l'adresse)
ché pas c'est quoi encore l'erreur????
loupius - 23 avril 2009 à 23:47
oui ça marche ton truc
Qu'est-ce que tu crois ? On est des pro ! ;-)))

Le problème c'est que, pour moi, ton code est quasi-illisible ! Il faut absolument utiliser les balises de code (entre souligné et lien) qui respectent l'indentation.
Deux solutions pour résoudre les problèmes:
- utilisation d'un débogueur,
- mise en place de judicieux 'printf' en divers points.
Ajouter un commentaire
Réponse
+0
moins plus
reposte ton code en utilisant les balises et les dernières modifications apporté. Il y a peut être une erreur d'algorithme dans ta fonction inser.
Ajouter un commentaire
Ce document intitulé « liste chaîné en C » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
5 extensions si vous voulez revenir à l'ancien Facebook