delphin2 a écrit :
Effectivement si tu laisses le point virgule, le compilo aura du mal à comprendre les intructions
|
Mais où as-tu appris le C ??? C'est parfaitement correct et valable. Il s'agit d'une boucle sans instruction parce que ce qui est dans le while() est suffisant au besoin.
C'est comme pour compter le nb de lettres d'une chaine=> for (i=0; chaine[i] != '\0'; i++) ;
En fin de for, "i" contient le nb de lettres.
spolnix a écrit :
Alors oui cette manière d'écrire est un genre de raccourci ça équivaut à :
Code :
- while (getchar() != '\n')
- {
- }
|
|
Oui.
spolnix a écrit :
Code :
- //Equivalent à la fonction scanf
- char lireCaractere()
- {
- char caractere = 0;
- caractere = getchar(); // On lit le premier caractère
- caractere = toupper(caractere);
- // On lit les autres caractères mémorisés un à un jusqu'à l'\n (pour les effacer)
- while (getchar() != '\n') ;
- return caractere;
- }
|
|
Effectivement ça semble correct. Cependant ta fonction lireCaractere est un peu maladroite. Moi je te proposerais de passer par fgets() ce qui a l'avantage de te laisser ton buffer clean
Code :
- //Equivalent à la fonction scanf
- char lireCaractere()
- {
- char string[1024];
- fgets(string, 1024, stdin); // Ici le buffer stdin est clean
- return (toupper(string[0]));
- }
|
Pour plus d'infos, tu peux aller voir ce site http://mapage.noos.fr/emdel/inputs.htm qui parle des saisies "solides" en C...
Message édité par Sve@r le 21-04-2008 à 20:23:43
---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.