diff --git a/KNR C/ex1_10-5.c b/KNR C/ex1_10-5.c new file mode 100644 index 0000000..94c0272 --- /dev/null +++ b/KNR C/ex1_10-5.c @@ -0,0 +1,26 @@ +#include + +/*Rewriting the wc program from pge 21/22 of KNR C, because the book does it in a way that I think is silly, and because I can.*/ + +int nl, nw, nc, state = 0; + +#define IN 1 /*State when selected character is in a word*/ +#define OUT 0 /*State when selected character is a newline, space, or tab (outside a word)*/ + +int main(){ + + + for(int a = getchar(); a != EOF; a = getchar()){ + ++nc; + if(a == '\t' || a == ' ' || a == '\n'){ + state = OUT; + if (a == '\n') + ++nl; + } else { + state = IN; + ++nw; + } + } + printf("%d %d %d\n", nl, nw, nc); + return 0; +}