In function ‘main’问题
#include <stdio.h>#include <ctype.h> //为isspace()提供函数原型
#include <stdbool.h> //为bool、true、和false提供定义
#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("Please enter text to be analyzed(| to terminate): \n");
prev='\n'; //用于识别完整行
while((c=getchar())!=STOP)
{
n_chars++;
if(c=='\n')
n_lines++;
if(!isspace && !inword)
{
inword=true; //开始一个心单词
n_words++;
}
if(isspace && inword)
inword=false;
prev=c;
}
if(prev!='\n')
p_lines=1;
printf("characters=%d,words=%d,lines=%d,",n_chars,n_words,n_lines);
printf("partial lines=%d.\n",p_lines);
return 0;
}
输入:
Tom is
a man.
|
输出结果:characters=15,words=0,lines=2,partial lines=0.为什么words=0呢??我是在linux下的GCC中编译的,谢谢高手指点下哈!!!再次感谢哈!!!