Char mot de passe []
juventino110
-
loupius Messages postés 789 Statut Membre -
loupius Messages postés 789 Statut Membre -
Bonjour, a tous quelqu'un aura une solution pour ce code :
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
char MotDePasse [100];
while(MotDePasse != "john")
{
printf("Entrez le mot de pass ? ");
scanf("%s", MotDePasse);
}
else
{
printf("Salut john, je suis heureux de te revoire !\n\n");
}
return 0;
}
aidez moi svp
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
char MotDePasse [100];
while(MotDePasse != "john")
{
printf("Entrez le mot de pass ? ");
scanf("%s", MotDePasse);
}
else
{
printf("Salut john, je suis heureux de te revoire !\n\n");
}
return 0;
}
aidez moi svp
2 réponses
-
while(MotDePasse != "john")
Lors de la première itération, que vaudra MotDePasse sachant que tu as oublié de l'initialiser ? Première erreur.
Seconde plus grave : en C, on ne compare pas les chaînes de caractères avec les opérateurs de comparaison. Il faut utiliser la fonction strcmp().
scanf("%s", MotDePasse);
Attention, scanf est une fonction très délicate à utiliser. Utilise plutôt scanf("%99s", MotDePasse);
Je te conseille d'utiliser fgets() d'une manière plus générale.
Cdlt, -
Hormis les recommandations fournies par fiddy, il te faudra trouver, dans la mesure où tu désires voir la compilation arriver à son terme, un 'if' pour ton 'else'.
Bonne continuation.