salut tt le monde, j'ai lu un code sur l'utilisation de scanf comme ci-dessous:
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^^
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
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; }
Partager