Explication sur la boucle 'while'
salut tt le monde, j'ai lu un code sur l'utilisation de scanf comme ci-dessous:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| #include <stdio.h>
int main(void){
int nombre = 0;
int ok = 0;
int retour;
printf("saisissez un nombre :\n");
while (!ok){
retour = scanf("%d%*[^\n]", &nombre);
printf("retour : %d\n", retour);
if ( !retour ){
/* erreur de saisie, on vide le flux */
int c;
while ( ((c = getchar()) != '\n') && c != EOF);
printf("on vous a demande de saisir un nombre\n");
printf("veuillez recommencer :\n");
}
else {
/* reussite de la saisie */
getchar(); /* on enleve le '\n' restant */
printf("saisie acceptee\n");
ok = 1; /* sort de la boucle */
}
}
return 0;
} |
Le probleme c'est que j'arrive pa a comprendre la ligne while (!ok), ca veut dire: tant que ok différent de 0?? j'ai essayé en remplancant par while (ok!=0) mais ca marche pas?? quelqu'un sait pk? merci^^