【发布时间】:2020-10-16 06:41:52
【问题描述】:
我对编码还很陌生。我的“CountSentences”功能有问题。我将字符串与“。”进行比较,“?” , 和 !数一个句子。无论字符串中有多少标点符号,它只会在句子计数器中添加一个。我是否错误地使用 strcmp 来获得我想要的结果,还有其他方法可以解决这个问题吗?
#include【问题讨论】:
-
您的代码将输入的所有 rest 与单字符字符串进行比较。我建议
if(l[i] == '!')等。除此之外:不建议使用l(字母ELL)作为变量名。它很容易与1(数字 ONE)混淆,使代码难以阅读,容易出错。 -
您可能想了解
ispunct()和isspace()和isalpha()等函数族,在ctype.h中声明。 -
关于:` }; };` 不要在右大括号
}之后放置分号; -
贴出的代码中缺少声明:
#include <stdio.h>for theprintf()and similar functions -
关于:
if(strcmp(&l[i], "!") == 0 || strcmp(&l[i], ".") == 0 || strcmp(l, "?") == 0)这将不起作用,因为来自l[]的单个字符不是字符串。建议:if( l[i] == '!' || l[i] == '.' || i[i] == '?' )注意使用单引号而不是双引号,以便比较字符而不是字符串。请注意使用适当的水平间距以提高可读性。