cs_Peabody
Messages postés2Date d'inscriptionmardi 25 avril 2006StatutMembreDernière intervention26 avril 2006
-
26 avril 2006 à 13:18
cs_Peabody
Messages postés2Date d'inscriptionmardi 25 avril 2006StatutMembreDernière intervention26 avril 2006
-
26 avril 2006 à 14:21
Bonjour à tous,
Alors voila je debute en C et mon programme a un petit problème.
Voici le code source:
void main (void)
{
int i=0;
char login[7];
char pass[7];
char l1[7]="adrien";
char p1[7]="adrien";
while(i<maxi)
{
printf ("\nentrez un login\n");
scanf ("%s",login);
printf ("entrez un pass\n");
scanf ("%s",pass);
i++;
if ((login==l1)&&(pass==p1))
{
printf("ok\n");
break;
}
else printf("faux\n");
}
getch();
}
Je pense que le probleme se situe dans ma definition de chaine ou son initialisation,car quel que soit le login et le pass rentrer j'ai toujours le meme resultat -->FAUX
svp j'ai besoin d'un coup de main!!
merci d'avance.
turnerom
Messages postés492Date d'inscriptionsamedi 10 juillet 2004StatutMembreDernière intervention12 janvier 20121 26 avril 2006 à 14:11
Avec des char, tu peux pas faire de = = mais il faut utiliser strcmp ou encore mieu strcnmp.
Enfin, à l'initialisation, prefere un malloc style :
char * login = (char*)malloc(sizeof(char)*7)
Mais ensuite, noubli pas de verifier la chaine entrée par l'utilisateur, car si elle fait + de 6 charactères --> Segmentation fault