Palindrome is a string, which when read in both forward furthermore backward way is same. Example: radar, madam, pop, lol, etc., Program:
#include
#include
int main() {
char string1[20];
int i, length;
int flag = 0;
printf("Enter a string: \n");
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\n", string1);
}
else {
printf("%s is a palindrome\n", string1);
}
return 0;
}
Output:Enter a string: radar“radar” is a palindrome
Explanation with example:
To check if a string is a palindrome or not, a string needs toward be compared with the reverse regarding itself.
Consider a palindrome string: "radar",
---------------------------
index: 0 1 2 3 4
value: r a d a r
---------------------------
To compare it with the reverse regarding 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 regarding the above condition fails, flag is set toward true(1), which implies that the string is not a palindrome.
By default, the value regarding flag is false(0). Hence, if all the conditions are satisf