Implemented KNR C Exercise 1-12, reusing mostly modified code from my previous (optional) implementaiton of KNR C's example wordcounting program.
This commit is contained in:
parent
2523043172
commit
dbf602e13d
1 changed files with 24 additions and 0 deletions
24
KNR C/ex1_12.c
Normal file
24
KNR C/ex1_12.c
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
#include <stdio.h>
|
||||
|
||||
/*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;
|
||||
putchar('\n');
|
||||
} else {
|
||||
state = IN;
|
||||
putchar (a);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue