# Palindrome Program in C using recursive method

Ans:

In this tutorial you will learn how to write a program in C to check a given number is palindrome or not using recursive method.

Before moving directly on the writing the program to check whether a given number is palindrome or not using recursion, you should know

A Palindrome number is a number which reverse is equal to the original number means number itself.

For example : 121, 111, 1223221, etc.

In the above example you can see that 121 is a palindrome number. Because reverse of the 121 is same as 121.

## How our program will behave?

Suppose if someone gives an input 121 then our program should print “the given number is a palindrome”.

And if someone given input 123 the our program should print “the given number is not a palindrome number”.

## C program for palindrome number using recursive method

``````#include <stdio.h>
#include <conio.h>

int reverse(int num);
int isPalindrome(int num);

int main()
{
int num;
printf("Enter a number: ");
scanf("%d", &num);
if(isPalindrome(num) == 1)
{
printf("the given number is a palindrome");
}
else
{
printf("the given number is not a palindrome number");
}
return 0;
}

int isPalindrome(int num)
{
if(num == reverse(num))
{
return 1;
}
return 0;
}

int reverse(int num)
{
int rem;
static int sum=0;
if(num!=0){
rem=num%10;
sum=sum*10+rem;
reverse(num/10);
}
else
return sum;
return sum;
} ``````

Output:

## Explanation of palindrome number c program using Recursive method

• In the above program there are two methods reverse(int num) and isPalindrome(int num).
• reverse method will take a input of a number and the return the reverse of that number.
• isPalindrome method will take a number and that number will pass to reverse function.
• This function will check the equality of original number with the value return by reverse function.
• If value is equal then isPalindrome function will return 1 else it will return 0.
• This return value of isPalindrome function will capture in main function and then output will print as per check.

I hope this is very helpful for you.