Boucle infini sans raison apparante en C

Résolu/Fermé
iron uchiwa Messages postés 57 Date d'inscription mercredi 24 juillet 2013 Statut Membre Dernière intervention 17 février 2016 - Modifié par baladur13 le 25/09/2015 à 16:29
iron uchiwa Messages postés 57 Date d'inscription mercredi 24 juillet 2013 Statut Membre Dernière intervention 17 février 2016 - 25 sept. 2015 à 19:15
Bonjour à tous,

je voulais simplement savoir pourquoi ce type de boucle est infini?
et comment y remédie?
L'instruction while ne va même pas jusqu'au
scanf()

ce qu'elle devrait pourtant faire... Tout du moins en python
ce type de boucle passe sans problème.

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    char input;
    printf("entrez une valeur: \n:");
    scanf("%c",&input);
    while ((input != 'y') && (input != 'n'))
        printf("y ou n!\n:");
        scanf(" %c",&input);

return 0;
}



merci d'avance



EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

Merci d'y penser dans tes prochains messages.

1 réponse

salut,

Comme tu l'as dis, tu n est pas en python, il faut donc des accolades ;) :


while ((input != 'y') && (input != 'n'))
{
        printf("y ou n!\n:");
        scanf(" %c",&input);
}


les acolades sont facultatives UNIQUEMENT dans le cas ou il n y a qu une instruction.

naga
0
iron uchiwa Messages postés 57 Date d'inscription mercredi 24 juillet 2013 Statut Membre Dernière intervention 17 février 2016 15
25 sept. 2015 à 19:15
oui quelle question débile.. J'avais pas vu
merci bien :)
0