【发布时间】:2015-08-19 14:04:00
【问题描述】:
基本上我需要找到一种方法来发现段落是否以句点 (.) 结尾。
此时我已经可以计算给定文本具有的段落,但我没有想出任何东西来检查它是否在句点中结束。
任何帮助都会帮助我,谢谢
char ch;
FILE *fp;
int paragraph=0;
int newLine=0;
fp = fopen("123.txt","r");
while( ( ch = fgetc(fp) ) != EOF ){
if(ch=='\n'){
newLine++;
if(newLine==2){
paragraph++;
newLine=0;
}
}
else{
newLine=0;
}
}
printf("%d\n",paragraph);
fclose(fp);
return 0;
【问题讨论】:
-
可以将前一个字符存储在else部分。然后检查你是否有两个换行符,如果前一个字符是句点。
-
char ch;应该是int ch;。你很幸运char在你的系统上默认签名,否则程序永远不会停止。它仍然是签名字符的错误,因为它会错误地停止在'\377' -
@Wimmel 你的解释足以让我弄清楚,谢谢你的评论,干杯。