Palindrom adalah kumpulan kata yang jika dibalik akan menghasilkan ejaan dan bunyi sama seperti "radar" , "malam", "tamat", "kodok" dsb.

di bahasa C sdh ada library khsus untuk mebalikan kata yaitu : strrev() . namun di linux strrev() tidak ada karena sebenarnya ini bukan library strandar dalam bahasa C. 

contoh strrev() bawaan:

#include 
#include
int main() {
char kata[200]= "kodok"; //ganti dgn kata" lain
char check[200];

strcpy(check, kata); //kita copy inputan lalu pakai strrev
strrev(check);

    /*bandingkan apakah kata == check (yg sdh dibalik kan tentunya)*/
if(strcmp(kata, check) == 0)
printf("Kata %s adalah palindrom.\n", kata);
else
printf("Kata %s bukan palindrom.\n", kata);

printf("Kebalikan dari input diatas %s.\n", check);
return 0;
}


Berikut jika kita buat sendiri fungsinya


#include 
#include
/*Buat fungsi*/
void reverse(char s[]) {
int c, i , j; //strlen(s) = hitung panjang kata
for (i = 0, j = strlen(s)-1; i < j; i++, j--) {
c = s[i];
s[i] = s[j];
s[j] = c;
}
return;
}
int main() {
char a[] = "malam"; //ganti dgn kata" lain
char b[200];

strcpy(b,a);
reverse(a); //panggil fungsi

if(strcmp(a, b) == 0) {

printf("Kata %s Palindrom\n",a);

}
else{

printf("Kata %s Bukan palindrom\n",a);
}

return 0;
}

Happy Learning