Reversing number using recursion

Saurabh Staff asked 2 years ago

How can I reverse a number in C using recursion ?

1 Answers
Saurabh Staff answered 2 years ago
Below is the solution to this one:-


#include 
#include 

int reverse(int, int);

int main()
{
    int number = 1234567890;
    
    
    printf("Reversed number is %d\n", reverse(number, 0));
    return 0;
}

int reverse (int n, int power) {
    static int reversed_number = 0;
    int digit = n % 10;
    if (n == 0) {
        return reversed_number;
    }
    reversed_number = digit + reversed_number * pow(10, power);
    
   
    if (power == 0) {
    	reverse(n/10, power+1);
    } else {
    	reverse(n/10, power);
    }
}
Fiddle here