关于代码的理解
程序代码:
#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; 这段代码如何理解?







