C Program to Check Whether a Number is Palindrome or Not

To understand this example, you should have the knowledge of the following C programming topics:

An integer is a palindrome if the reverse of that number is equal to the original number.

Program to Check Palindrome

#include <stdio.h>
int main() {
  int n, reversed = 0, remainder, original;
    printf("Enter an integer: ");
    scanf("%d", &n);
    original = n;

    // reversed integer is stored in reversed variable
    while (n != 0) {
        remainder = n % 10;
        reversed = reversed * 10 + remainder;
        n /= 10;

    // palindrome if orignal and reversed are equal
    if (original == reversed)
        printf("%d is a palindrome.", original);
        printf("%d is not a palindrome.", original);

    return 0;


Enter an integer: 1001
1001 is a palindrome.

Here, the user is asked to enter an integer. The number is stored in variable n.

We then assigned this number to another variable orignal. Then, the reverse of n is found and stored in reversed.

If original is equal to reversed, the number entered by the user is a palindrome.


Write a function to determine whether a given number is a palindrome.

  • A palindrome number is a number that remains the same when its digits are reversed. For example, 525.
  • Return 1 if the number is a palindrome, otherwise return 0.
  • For example, with input num = 121, the return value should be 1.
Did you find this article helpful?