Scanf dans une boucle while
Bonjour à tous,
J'aurai besoin d'un éclairciceemnt à propos d'un petit bout de code.
Je n'arrive décidemment pas à comprendre pourquoi cela ne marche pas :evilred:
Code:
1 2 3 4 5 6 7 8
|
char * reponse = malloc(TAILLE*sizeof(char));
assert(reponse);
while((strcmp(reponse, "yes") != 0) || (strcmp(reponse, "no") != 0))
{
printf(" (yes or no) \n");
scanf("%s", reponse);
} |
Je veux faire une interface interactive, qui lorsque que je lui donne "yes" ou "no", execute la partie du code que je veux. Or ici, lorsque j'execute, il ne sort jamais de la boucle while, et me re balance toujours le printf et scanf.
GDB ne m'a pas aidé à comprendre le pourquoi du comment :(
Aidez moi siouplez :D. Merci d'avance
~~~~~~~EDIT~~~~~~~~~
Ci dessous le code résolu et sans erreur :
Code:
1 2 3 4 5 6 7 8 9 10
|
char * reponse = malloc(TAILLE*sizeof(char));
assert(reponse);
reponse = strcpy(reponse, "huhu");
while((strcmp(reponse, "yes") != 0) && (strcmp(reponse, "no") != 0))
{
printf(" (yes or no) ");
scanf("%s", reponse);
} |