Подсчет слов в строке - Из-за апострофов программа работает неправильно - C (СИ)
Формулировка задачи:
из-за например апострофов программа работает неправильно.
почему нельзя исправить это так?
#include <stdio.h> #include <stdbool.h> bool alphabetic(const char c) { if((c>='a' && c<='z') || (c>='A' && c<='Z') ) return true; else return false; } int countWords(const char string[]) { int i,wordCount=0; bool lookingForWords=true,alphabetic (const char c); for(i=0; string[i]!='\0';++i) if(alphabetic(string[i])) { if(lookingForWords) { ++wordCount; lookingForWords=false; } } else lookingForWords=true; return wordCount; } int main(void){ const char text1[]="well,he're go'es"; const char text2[]="and here we go"; int countWords(const char string[]); printf("%s -words=%i\n",text1,countWords(text1)); printf("%s -words=%i\n",text2,countWords(text2)); }
if((c>='a' && c<='z') || (c>='A' && c<='Z') || с==96)
Решение задачи: «Подсчет слов в строке - Из-за апострофов программа работает неправильно»
textual
Листинг программы
bool alphabetic(const char c) { return ((c>='a' && c<='z') || (c>='A' && c<='Z') || c =='\''); }
Объяснение кода листинга программы
- В функции
alphabetic
проверяется, является ли символc
буквой. - Возвращается
true
, если символc
является буквой от 'a' до 'z', от 'A' до 'Z' или равен '\''. - В условии используются операторы
>=
и<=
для проверки диапазона символов.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д