Ten kod jest brzydki :( Ta książka jest zła
# define IN 1 /* wewnatrz slowa */
po co preprocesor? Po co komu typy w języku, którego zaletą jest silne typowanie? Nazwał stałą IN. Nie dziwne, że musi pisać komentarz, żeby ktoś mógł domyślić się co to znaczy :P.
int c, nl, nw, nc, state;
A tutaj to dopiero poleciał z nazwami zmiennych. Brak słów. I ja nie żartuje. Ten kod wygląda jak napisany przez osobe, która dopiero uczy się programować :P
\%9d\n"
to wygląda jak błąd. Nie ma sensu escapować procentu.
Co do samego pytania to popróbuj z nietypowymi danymi. Np:
no 4ffs fdsf
elo
Aczkolwiek sam algorytm nie wygląda najgorzej. Nie widać prostych luk