Right now I'm browsing a book in C and come across an example in a book that I cannot get to work.
#include <stdio.h> #define IN 1 #define OUT 0 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); }
It should count the number of lines, words, and characters inside the input. However, when I run it in the terminal, it does nothing. Am I missing something or is there a problem with this code?
source share