C help

cyberps

Newbie
Joined
Jul 15, 2015
Messages
4
Reaction score
0
Hi folks,
I have started to learn in C language before 1 weak, I encounter an example about count lines, words and characters .. this is it

Code:
#include <stdio.h>
#define IN   1  /* inside a word */   
#define OUT  0  /* outside a word */
/* count lines, words, and characters in input */  
main()   {       
    int c, nl, nw, nc, state;
    state = OUT;      
    nl = nw = nc = 0;       
    while ((c = getchar()) != EOF) {
        ++nc;           
        if (c == '\n') {
            ++nl; 
           }
        if (c == ' ' || c == '\n' || c == '\t') {
            state = OUT;    
        }
        else if (state == OUT) {
            state = IN;
            ++nw;
        }
    }       
    printf("%d %d %d\n", nl, nw, nc);   
}
when I compile and run it, I write anything in the terminal but it doesn't print nl, nw, nc .. can someone tell me what is the solution please ? :\
 
Code:
c = getchar()) != EOF

EOF means End of File which in your case is whenever you press Ctrl+D (Linux) or Ctrl+Z (Windows) on the terminal.
 
Code:
main() {}

Should be:
Code:
int main(void) {}

most likely... And you should have return 0; at the end of main()'s scope unless you're compiling as C99 or C11.
 
Back
Top