C Program to Check whether the Given String is a Palindrome
C Programming Language String functions in C (Article) String functions in C (Program)
1083Program:
#include #include int main(){ char string[20]; int i, length; int flag = 0; printf("Enter a string:"); scanf("%s", string); length = strlen(string); for(i=0;i < length ;i++){ if(string[i] != string[length-i-1]){ flag = 1; break; } } if (flag) { printf("%s is not a palindrome\n", string); } else { printf("%s is a palindrome\n", string); } return 0; }
Output:
Output 1 Enter a string:roor roor is a palindrome Press any key to continue . . . Output 2 Enter a string:rum rum is not a palindrome Press any key to continue . . .
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.
This Particular section is dedicated to Programs only. If you want learn more about C Programming Language. Then you can visit below links to get more depth on this subject.