1.程序功能
程序用于统计行数、单词数与字符数。这里对单词的定义比较宽松,它是任何其中不包括空格,制表符或换行符的字符序列。
2.程序实现
#include <stdio.h>
#define IN 1 /*在单词内*/
#define OUT 0 /*在单词外*/
/* 统计输入的行数、单词数、与字符数 */
void 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;
--nc; //减去空格和转义字符所占的字符数
++nw;
}
}
//printf("%d,%d,%d \n",nl,nw,nc);
printf("line num is %d \n",nl);
printf("word mun is %d \n",nw);
printf("char num is %d \n",nc);
}
3.运行测试
在Ubuntu下使用gcc编译,运行,结果如下: