Je m'explique :
j'ai un programme qui à un moment demande de saisir un char, pour ce faire, j'ai une fonction :
void saisir_char()
{
printf("Saisir un caractère : ");
scanf("%c\n", caract);
}
dans mon programme je fais suivre l'appel de cette fonction par une instruction de test :
printf("Caract = %c\n", caract);
Le problème est qu'il ne prend en compte ma saisi qu'une fois sur deux !
Exemple :
...Début du programme
...
Saisir un caractère : a ==> là j'ai donc saisi a et fait entrer
Caract = ==> là ça devrait afficher "Caract = a"
...
Si je fais plusieurs fois de suite la saisi du caractère, on s'aperçoit que la saisie est "décalée" !
Exemple :
...Début du programme
...
Saisir un caractère : a ==> je tappe a et fait entrer
Caract = ==> devrait afficher "Caract = a"
...
Saisir un caractère : b ==> je tappe b et fait entrer
Caract = a ==> devrait afficher "Caract = b"
...
Saisir un caractère : c ==> je tappe c et fait entrer
Caract = b . . . et ainsi de suite
J'ai essayer de régler le problème en utilisant getchar au lieu de scanf mais dans ce cas, il saute carrement la saisie.
Quelqu'un peut m'aider svp ?