Я хотел бы знать, почему мой код не компилируется должным образом. Что я пытаюсь сделать sh, так это счет слов. У меня уже есть место, где запрашиваются пробелы, но это не работает, если это несколько предложений в одной строке. Потому что он будет считать пробел после знака препинания как слово, когда знак препинания делает то же самое.
while (s[n] != '\0')
{
if (isalpha(s[n])) //counts letters
{
count++;
}
if (isspace(s[n])) //count words
{
word++;
}
if (s[n] == '.' || s[n] == '?' || s[n] == '!')
{
else if (s[n + 1] isspace) //This is the problem
{
word--;
}
sent++;
word++;
}
n++;
}
Я почти уверен, что это будет правильно, но он не компилируется должным образом, так что я вроде просто застрял здесь. Насколько я понимаю, высказывание (s [n + 1]) означает, что если буква после той, которую он в настоящее время проверяет, является пробелом, посмотрите, является ли это пробелом, если истина, то слово - иначе слово ++. Если это не так, скажите, пожалуйста, почему?