Salut tout le monde ...
Je viens de débuter en listes chaînées et au polycopie du prof j'ai voulu vérifier un simple exercice sur l'insertion des éléments et leur affichage ensuite .... Mais à l'exécution il y avait un comportement indéfini
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
| #include<stdio.h>
#include<string.h>
typedef struct Noeud
{
char mot[15];
struct Noeud *suivant;
}noeud ;
void inser(char s[],noeud *fin)
{
noeud *nouveau;
int i;
nouveau=(noeud*)malloc(sizeof(noeud));
nouveau->suivant = NULL;
for(i=0;i<strlen(s);i++)
nouveau->mot[i]=s[i];
fin->suivant=nouveau;
fin=nouveau;
}
void aff(noeud *p)
{
int i;
while(p!=NULL)
{
for(i=0;i<strlen(p->mot);i++)
printf("%c",p->mot[i]);
p=p->suivant;
}
}
main()
{
noeud *debut,*fin;
char Z[]="faculte";
char ch[15];
int i;
debut=(noeud*)malloc(sizeof(noeud));
for(i=0;i<strlen(Z);i++)
debut->mot[i]=Z[i];
debut->suivant=NULL;
fin=debut;
printf("saisir les mot : \n");
i=0;
do
{
gets(ch);
inser(ch,fin);
i++;
}
while (i!= 3);
aff(debut);
getchar();
} |
1 2 3 4 5
| saisir les mot :
des
science
info
faculteinfox☺= |
Alors ou est le problème ?
Une autre question au code il y avait comme ça
A la place de ça
1 2 3
|
char Z[]="faculte";
debut->mot[i]=Z[i]; |
Mais je l'ai changé car il y avait une erreur lors de la compilation
incompatible types in assignment
Alors pourquoi l'erreur ?
Partager