How to print the longest palindrome words in a string with C

1 Answer

0 votes
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

void PrintLongestPalindromeWord(char str[], char* delimiter) {
    char* word = strtok(str, delimiter);
    size_t max = 0;
    char maxword[16];

    while (word != NULL) {
        char* p = _strdup(word);
        int result = _stricmp(word, _strrev(p));
        free(p);
        if (result == 0 && strlen(word) >= 3) {
            size_t len = strlen(word);
            if (len > max) {
                max = len;
                strcpy(maxword, word);
            }
        }
        word = strtok(NULL, delimiter);
    }

    puts(maxword);
}

int main(void)
{
    char s[] = "c madam c++ civic java rotator pytyp dart php";

    PrintLongestPalindromeWord(s, " ");

    return 0;
}





/*
run:

rotator

*/

 



answered Dec 28, 2023 by avibootz
...