布尔变量,书本上的题目,因编译器没有头文件<stdbool.h>,自定义了 bool,结果编译没法通过。大家帮忙看看问题在哪里?还有倒数第四行那个不
#include<stdio.h>#include<ctype.h>//isspace()原型//
//#include<stdbool.h>//为bool,ture,false提供定义//
#define STOP '|'
#define bool int inword
#define true 1
#define false 0
main(void)
{
char c;//读入字符//
char prev;//前一个读入字符//
long n_chars=0l;//字符数//
int n_lines=0;//行数//
int n_words=0;//单词数//
int p_lines=0;//不完整行数//
int inword=false;//单词的开始处//
printf("请输入单词以统计("STOP"终止输入:\n)");
prev='\n';//用于识别完整的行//
while((c=getchar())!=STOP)
{
n_chars++;
if(c=='\n')
n_lines++;
if(!isspace(c)&&(inword=false))
{
inword=true;//开始新单词//
n_words++;//统计//
}
if(isspace(c)&&(inword=true))//如果是空白字符而且是在单词中间//
inword=false;//到达单词尾部//
prev=c;//保存字符值//
}
if(prev!='\n')//前一个字符不是换行符//
p_lines=1;//非完整行//
printf("字符数共%ld个,单词共%d个,共%d行,不完整行数共%d行.\n",n_chars,n_words,n_lines,p_lines);
return 0;
}