[求助]统计字符的问题
要求统计行数,单词数,字符数
我写的程序如下:
#include<stdio.h>
void main()
{
int c,state,nc=0,nw=0,n1=0;
state=0; //state=0表示在单词外,=1时在单词外
c=getchar();
while((c=getchar())!=EOF)
{
++nc;
if(c=='\n')
++n1;
if(c==' '||c=='\n'||c=='\t')
state=0;
else if(state==0)
state=1;
++nw;
}
printf("nc=%d\tn1=%d\tnw=%d\n",nc,n1,nw);
}请问这个程序有什么问题,为何输入后没输出结果
----------------解决方案--------------------------------------------------------
EOF
----------------解决方案--------------------------------------------------------
Ctrl+Z就可以退出了。
----------------解决方案--------------------------------------------------------
不好意思了,这个问题解决了,就时在
else if(state==0)
state=1;
++nw;
改为else if(state==0)
{ state=1;
++nw;}
但为什么不改,就没输出结果呢?
哪为达人解释一下
----------------解决方案--------------------------------------------------------
2楼能解释一下吗?
按一楼的那个程序就算按Ctrl+Z也不能循环,但按4楼的改了就ok了
----------------解决方案--------------------------------------------------------