Liste chaîné en C

newgame -  
Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   -
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
Configuration: Googlebot 2.1

2 réponses

  1. loupius
     
    Ni 'p', ni 'tliste' ne sont des pointeurs.
    Il faudrait plutôt écrire:
    tliste* p;
    p = (tliste*)malloc(sizeof(struct liste));
    1
    1. loupius
       
      oui, et même:
      tliste* p;
      p = (tliste*)malloc(sizeof(tliste));
      0
      1. newgame > loupius
         
        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????
        0
      2. loupius > newgame
         
        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.
        0
  2. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    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.
    0