salut tt le monde, j'ai lu un code sur l'utilisation de scanf comme ci-dessous:

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;
}
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^^