Вывести на экран слова, длиннее двадцати букв - C (СИ)
Формулировка задачи:
Помогите!
Поиск слов, длиннее 20 букв (фраз с пропущенными пробелами между словами) и вывод их на экран.
Решение задачи: «Вывести на экран слова, длиннее двадцати букв»
textual
Листинг программы
#include <stdio.h>
#include <ctype.h>
char* s_scan(char** s, int len){
char* i, *t = NULL, *p = *s;
if(! *p)
return NULL;
while(*p){
while(*p && ! isalpha(*p))
++p;
i = p + 1;
while(isalpha(*i))
++i;
if((i - p) > len){
t = p;
break;
}
p = i;
}
if(t != NULL){
if(*i)
*i++ = '\0';
*s = i;
}
return t;
}
int main(void){
char* t, *p;
char s[] = "Begin (Supercalifragilisticexpialidocious)."\
"Pneumonoultramicroscopicsilicovolcanoconiosis, "\
"end| floccinaucinihilipilification";
p = &s[0];
while((t = s_scan(&p, 20)) != NULL)
puts(t);
return 0;
}