Word counting by Kernighan won't compile =(

Luyt luyt at ovosoft.nl
Wed Mar 2 01:12:14 GMT 2005


On Tuesday 01 March 2005 06:23, Mark Jayson Alvarez wrote:

>   Sorry for asking this question here. I just thought
> that this might be a platform specific issue=). I'm
> reading this book(The C Programming Language 2nd
> Edition by Brian W. Kernighan. Upon reading the book,
> I came up with this example code. It says, it will
> count the number of words, lines and characters in the
> command line, until I send an EOF signal. I copied it
> verbatim and tried compiling it with plain "cc
> myprog.c"

#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);
}


Compile & sample output:

luyt at Deschutes /home/luyt % gcc wc.c -o wc
luyt at Deschutes /home/luyt % ./wc <wc.c
24 73 349


-- 

"The ability of the OSS process to collect and harness 
the collective IQ of thousands of individuals across 
the Internet is simply amazing." - Vinod Vallopillil
http://www.opensource.org/halloween/halloween4.php


More information about the freebsd-questions mailing list