C Examples

C Program - Check whether a String is Palindrome or not



A string is known as a Palindrome string if the reverse of the string is same as the string. For example, 'radar' is a palindrome string, but 'rubber' is not a palindrome string.

Example: Check Palindrome String

In the example below, the string called MyString is checked for palindrome string. A while loop is used to compare the characters of the string. Two variables l and r are created which initially points to first and last character of the string. If the compared characters are not same, it will increase the variable flag by one and exit the loop, else the loop is continued. After each iteration, l is increased by one and r is decreased by one until they cross each other. Finally, based on value of flag variable, MyString is checked for palindrome string.

#include <stdio.h>
#include <string.h>

static void Palindrome(char MyString[]) {
  int l = 0;
  int r = strlen(MyString) - 1;
  int flag = 0;

  while(r > l) {
    if (MyString[l] != MyString[r]) {
      flag = 1;
      break;
    }
    l++;
    r--;
  }

  if (flag == 0) {
    printf("%s is a Palindrome string.\n", MyString);
  }
  else {
    printf("%s is not a Palindrome string.\n", MyString);
  }
}

int main() {
  Palindrome("radar");
  Palindrome("rubber");
  Palindrome("malayalam");
}

The above code will give the following output:

radar is a Palindrome string.
rubber is not a Palindrome string.
malayalam is a Palindrome string.