{Quality Online Education Since 2009}


C Programming Program to Check whether the Given String is a Palindrome

Advertisement

Palindrome is a string, which when read in both forward and backward way is same.

Example: radar, madam, pop, lol, rubber, etc.

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

int main(){
    char string1[20];
    int i, length;
    int flag = 0;
    
    printf("Enter a string:");
    scanf("%s", string1);
    
    length = strlen(string1);
    
    for(i=0;i < length ;i++){
        if(string1[i] != string1[length-i-1]){
            flag = 1;
            break;
	   }
	}
    
    if (flag) {
        printf("%s is not a palindrome", string1);
    }    
    else {
        printf("%s is a palindrome", string1);
    }
    return 0;
}
Program Output:

Explanation:

To check if a string is a palindrome or not, a string needs to be compared with the reverse of itself.
Consider a palindrome string: "radar",
---------------------------
index: 0 1 2 3 4
value: r a d a r
---------------------------
To compare it with the reverse of itself, the following logic is used:
0th character in the char array, string1 is same as 4th character in the same string.
1st character is same as 3rd character.
2nd character is same as 2nd character.
. . . .
ith character is same as 'length-i-1'th character.
If any one of the above condition fails, flag is set to true(1), which implies that the string is not a palindrome.
By default, the value of flag is false(0). Hence, if all the conditions are satisfied, the string is a palindrome.


« Previous Chapter
C File Delete a File
Next Chapter »
C Check Palindromic Number