Не могу решить задачку на Си:
Дана символьная строка, в которой слова перечислены через точку с запятой, а общая длина < 80. Найти и напечатать все слова, которые представляют собой слово-палиндром.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void polydrome(char **word){
int x;
int y;
int lenth = strlen(word);
for(x = 0, y = lenth-1 ; x < y; x++, y--){
if(word[x] != word[y]){
return;
}
}
printf("\n%s",word);
}
int main() {
//Инициализация переменных
char line[80] = "";
char **words[80];
int count = 0;
FILE *input;
//Проверка открытия файлов
if((input=fopen("/Users/nilinadvlr/Desktop/lab5/lab5/line.txt","r"))==NULL){
printf("Файл не открылся\n");
exit(1);
}
//Вывод всех данных
fscanf(input, "%s", line);
printf ("Исходная строка: %s\n", line);
//Разделение на отдельные слова и вывод
printf ("Результат разбивания:\n");
words[count] = strtok(line, ";");
while (words[count] != NULL){
printf("%s\n", words[count]);
count++;
words[count] = strtok(NULL, ";");
}
//Вывод слов-полидромов
printf("Слова-полидромы: \n");
for(int i = 0; i < count; i++){
polydrome(words[i]);
}
}