Bonsoir,
j'ai un problème avec la fonction getchar(), avec le code ci-dessous :
Je veux donc avoir ce code en boucle (avec le for), mais voilà, lorsque je tape le caractère 'a' par exemple, il va bien m'écrire "On a quelque chose", mais bizarrement, lorsqu'il refait la boucle, il passe le getchar() sans attendre que je tape quoi que ce soit au clavier et va aller dans le "else". En gros, il fait des boucles 2 par 2, et je ne comprends pas pourquoi. Pourtant, j'ai testé le caractère "car" en affichant son contenu, et je n'ai pas de retour à la ligne comme je le réinitialise à chaque fois, alors je ne vois vraiment pas d'où ça peut venir...
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 char car = '\0'; for(;;) { car = '\0'; car = getchar(); if( car == 'a' ) { printf( "On a quelque chose\n"); } else if( car == 'b' ) { printf( "On a autre chose\n" ); } else { printf( "Encore autre chose\n"); } }
Par contre, j'ai aussi essayé avec scanf, ça me fait la même chose...
Des idées d'où le problème pourrait venir ?
Merci d'avance.
Partager