关于代码的理解
											
程序代码:
#include "stdio.h"
#include "string.h"
#define in 1 /*在单词内*/
#define out 0 /*在单词外*/
/*统计输入的行数、单词数与字符数*/
int main()
{
    int c,nl,nw,nc,state;   /* 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);
}
其中 if(c==' '||c=='\n'||c=='\t')
state=out;
else if (state ==out){
state = in;
++nw; 这段代码如何理解?



											
	    

	
											