Probleme listte en c

Fermé
Utilisateur anonyme - 25 avril 2006 à 19:57
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 - 26 avril 2006 à 00:25
bonjour,
voila j'ai un probleme avec ce programme au moment de l'execution.
ce programme cree des maillon d'une liste bien sur
et on entre les valeur tantque l'utulisateur entre la variable "car" o ce qui signifie oui
mais au moment de l'execution il execute pas correctement.
merci de m'aider si vous savais bien sur......
#include<stdio.h>

#include<stdlib.h>
typedef struct maillon *ptr;
typedef struct maillon {
int val;
ptr lien;};
main()
{
int x,i;char c;ptr l,p,p1,preced;
l=NULL;i=1;/*initialisation de la liste*/;
printf("voulez vous introduire une valeur o/n \n");
scanf("%c",&c);
while(c=='o'){
p=(ptr)malloc(sizeof(struct maillon));
printf("la valeur du maillon%d\n",i);
scanf("%d",&x);
(*p).val=x;(*p).lien=NULL;
if(i==1){
l=p;preced=p;}
else{
(*preced).lien=p;preced=p;}
printf("voulez vous introduire une valeur");
scanf("%c",&c);i++;
}
printf("hfhfg");
i=1;p=l;
printf("le contenu de la liste\n");
while(p!=NULL)
{
printf("le maillon %d son adresse %x sa valeur=%d son lien=%x\n",i,p,(*p).val,p->lien);
p=(*p).lien;i++;
}
system("pause");
}


1 réponse

mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 7 812
26 avril 2006 à 00:25
Il y a un truc bizarre quand même sur ce forum. Tu n'est pas la première personne à ne pas écrire ton main de manière standard. Un main ça s'écrit :
int main(){
  //...code du main
  return 0; //quand tout va bien, sinon on met un code d'erreur
}

Ensuite là désolé mais ton programme est illisible donc c'est difficile de t'aider. Merci de
- retourner à la ligne après chaque ;
- utiliser les balises codes pour qu'on y voit quelque chose (sélectionne ton code dans la boîte de messagerie, et clique sur le bouton code à droite des boutons G,I,S de mise en forme)

Ensuite on pourra commencer à essayer de localiser le problème.

Bonne chance
0