int str_most_length_word(char *p) { char *temp = p; int i = 0; int num = 0; int flag = 0; int counter = 0; int word = 0; num = str_word_num(p); for(i = 0;i < num;i++) { while(*p != ' ') { if(*p == '\0') { break; } flag++; p++; } if(flag > counter) { counter = flag; word = i; } p++; flag= 0; } i = 0; while(*temp != '\0') { if(i == word) { while((*temp != ' ' )&&(*temp != '\0')) { printf("%c",*temp); temp++; } printf("\n"); break; } if(*temp == ' ') { i++; } temp++; } printf("%d\n",counter); return 0; }
int main(int argc, char *argv[]) { char s1[100]; char *s2; int len; printf("Input the string:\n"); gets(s1); len = strlen(s1); s2 = malloc(len + 1); if (s2 == NULL) { printf(" Malloc error\n"); return -1; } str_reverse(s1, s2); printf("Length: %d\n", len); printf("Words: %d\n", str_word_num(s1)); printf("Reverse: %s\n", s2); return 0; }