Bonsoir a tous, et merci d'avoir toujours ete la.

jai un probleme avec ma liste chainé, lorsque je recherche un element ne se trouvant pas dedans, je tombe dans une boucle infinie.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
//recherche un element dans la liste
void getInfo(AnnuL *a)
{
	char *tempNom = (char*)malloc(20*sizeof(char*));
        //demande le nom a rechercher dans la liste
	printf("Nom \t: \t");
	gets(tempNom);
 
        //tant que l'on se trouve dans la liste et que le nom est pas trouver
        //on boucle
	while(a && strcmp(a->Nom,tempNom))
	{
			a = a->pSuivant;
	}
        //a la sortie du tableau on verifie la condition de sortie
        //est ce que le nom a ete trouve?
	if(!strcmp(a->Nom,tempNom))
	{
		printf("===============\n");
		printf("Nom : \t\t%s\n",a->Nom);
		printf("Numero : \t%d\n",a->Num);
		printf("===============\n");
	}
	else
		printf("%s n'est pas dans la liste\n",tempNom);
}
J'espere que vous pourrez m'aidez car je vous avoue etre perdu.

Je vous remercie