Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

C Program to Check if a Given String is Palindrome

  • Difficulty Level : Easy
  • Last Updated : 25 Jul, 2021

Given a string, write a c function to check if it is palindrome or not. 
A string is said to be palindrome if reverse of the string is same as string. For example, “abba” is palindrome, but “abbc” is not palindrome.
 

palindrome

 

Algorithm: 
isPalindrome(str) 
1) Find length of str. Let length be n. 
2) Initialize low and high indexes as 0 and n-1 respectively. 
3) Do following while low index ‘l’ is smaller than high index ‘h’. 
…..a) If str[l] is not same as str[h], then return false. 
…..b) Increment l and decrement h, i.e., do l++ and h–. 
4) If we reach here, it means we didn’t find a mis
Following is C implementation to check if a given string is palindrome or not.
 

C




#include <stdio.h>
#include <string.h>
 
// A function to check if a string str is palindrome
void isPalindrome(char str[])
{
    // Start from leftmost and rightmost corners of str
    int l = 0;
    int h = strlen(str) - 1;
 
    // Keep comparing characters while they are same
    while (h > l)
    {
        if (str[l++] != str[h--])
        {
            printf("%s is not a palindrome\n", str);
            return;
        }
    }
    printf("%s is a palindrome\n", str);
}
 
// Driver program to test above function
int main()
{
    isPalindrome("abba");
    isPalindrome("abbccbba");
    isPalindrome("geeks");
    return 0;
}
Output
abba is a palindrome
abbccbba is a palindrome
geeks is not a palindrome

Recursive function to check if a string is palindrome
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above
 

My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!