je suis débutante je programme via code blocks sous window vista professionnel.
j'execute le programme, qui compte les mots, ci-dessous via "run" de code bloks et je m'attends à ce qu'il
affiche 0 0 0 hors il ne fait rien du tout , et lorsque je debug toujours via code bloks
il reste dans la boucle while et semble attendre quelque chose du clavier , alors que je
m'attendait à ce qu'il détecte de suite la fin de fichier et qu'il aille au printf, n'est-ce pas?
merci d'avance pour votre aide

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
#include <stdio.h>
 
int main()
{
      #define DEHORS 0
      #define DEDANS 1
 
    int c , nl, nm, nc , etat;
 
     etat=DEHORS;
 
     nl=nm=nc=0;
 
        while ((c=getchar()) != EOF){
           ++nc;
           if (c=='\n')
            ++nl;
          if (c == '\n' ||  c == ' '  ||  c== '\t')
             etat =DEHORS;
          else if (etat==DEHORS)
            {etat=DEDANS;
             ++nm ;
 
            }
          }
               printf("%d %d %d\n", nl, nm, nc);
 
}