求助啊 卡壳了 不懂为什么
/* 用于统计 键入字符的 字符数 单词数 行数 */#include<stdio.h>
#include<ctype.h>
#include<stdbool.h>
#define STOP '|'
int main(void)
{
char c; //读入字符
char prev; //当前读入一个字符
long n_chars = 0; //字符数
int n_lines = 0; //行数
int n_words = 0; //单吃数
int p_lines = 0; //不完整的行
bool inword = false; //如果C 在一个单词中 则 inword 等于true
printf("Enter text to be analyzed(| to terminate):\n");
prev ='\n'; //用于识别完整的行
while((c=getchar())!=STOP)
{
n_chars++; //统计字符
if(c=='\n')
n_lines++; //统计行
if(!isspace(c) && !inword) // isspace函数可以判断 空格 换行 之类的字符
{
inword =true; //开始一个新单词
n_words++; //统计单词
}
if(isspace(c) && inword)
inword = false; //到达单词的尾部
prev = c; //保存字符值
}
if(prev !='\n')
p_lines =1 ;
printf("characters =%ld,words = %d,lines =%d,",n_chars,n_words,n_lines);
printf("partial lines=%d\n",p_lines);
return 0;
}
/* 那个统计单词的 我分析的不太靠谱