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