Cześć wszystkim!
Jestem na początku nauki języka C, obecnie przerabiam lekturę autorstwa Dennis'a M. RItchie i Briana W. Kernighana - mianowicie "Język ANSI C".
Poległem przy jednym z przykładów podanych przez autorów, jest to program służący do zliczania wpisywanych przez użytkownika słów, wierszy i znaków; kod zamieszczam poniżej.
#include <stdio.h>
#define IN 1 // wewnątrz słowa
#define OUT 0 // poza słowem
// zlicz wejściowe wiersze, słowa i znaki
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);
}
Czy mógłbym prosić kogoś o poświęcenie trochę swojego czasu i wytłumaczenie mi łopatologicznie czemu każdy poszczególny wers kodu ma służyć? O rozłożenie go na czynniki pierwsze?