Probleme en c
WRIDANIOS
Messages postés
24
Statut
Membre
-
Mahmah Messages postés 497 Statut Membre -
Mahmah Messages postés 497 Statut Membre -
Bonjour,
ce ci est un exemple de programme :
#include <stdio.h>
int main(void)
{
char ca;
do {
flushall();
ca=getchar();
if(ca!='a'); {
printf("erreur");
}
}while(ca!='a');
return 0;
}
l'affichage est le suivas lors du saisie un car != de 'a';
"erreurerreur"
.
j'explique :
le progame affiche le message "erreur" lors de la premiere saisie d'un caractaire != de 'a' puis il reboucle et affiche un 2eme message "erreur" sans attendre une saisie par le clavier ....
aucune idee pour quoi !!!!
a vous ! merci
--
GET BUSY................UBUNTU.....
ce ci est un exemple de programme :
#include <stdio.h>
int main(void)
{
char ca;
do {
flushall();
ca=getchar();
if(ca!='a'); {
printf("erreur");
}
}while(ca!='a');
return 0;
}
l'affichage est le suivas lors du saisie un car != de 'a';
"erreurerreur"
.
j'explique :
le progame affiche le message "erreur" lors de la premiere saisie d'un caractaire != de 'a' puis il reboucle et affiche un 2eme message "erreur" sans attendre une saisie par le clavier ....
aucune idee pour quoi !!!!
a vous ! merci
--
GET BUSY................UBUNTU.....
Configuration: Linux Firefox 2.0.0.13
3 réponses
-
il y a un point virgule en trop après le if mais je ne sais pas si le problème vient de là
-
c t just une erreur de frappe
c justement le programe que j'ai dans le compilateur...
#include <stdio.h>
int main(void)
{
char ca;
do {
ca=getchar();
if(ca!='a') {
printf("erreur");
}
}while(ca!='a');
return 0;
}
-
Peut-être que ton code prend le caractère "retour chariot" en compte, du coup, quand tu tapes "X" suivi de "Entrée", pour lui il y a deux caractères, donc il lit le X, affiche "erreur", re-rentre dans la boucle, lit le "retour chariot" et ré-affiche "erreur".
Mais ce n'est qu'une supposition.
Tapes "XX" pour voir s'il affiche trois fois "Erreur". -
-
-
-
-
-
Bonjour,
Ce qu'il faut tout simplement c'est vider le buffer clavier.
Faq C sur Developpez.com : Vider le buffer clavier.
M.