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