Reverse Number Program in C

Last Updated : 5 Sep, 2026

Reversing a number means arranging its digits in the opposite order. In C, we can reverse a number by repeatedly extracting its last digit and building the reversed number.

  • The last digit is extracted using the modulo operator %.
  • Integer division / removes the last digit from the original number.

Examples

Input: 12354
Output: 45321
Explanation: The number 12354 when reversed gives 45321

Input: 623
Output: 326
Explanation: The number 623 when reversed gives 326.

Reverse a Number

The number can be reversed by extracting its digits one by one and adding them to the reversed number.

C
#include <stdio.h>

// Function to reverse a number
int reverseDigits(int num)
{
    int rev_num = 0;

    while (num > 0) {
        rev_num = rev_num * 10 + num % 10;
        num /= 10;
    }

    return rev_num;
}

int main()
{
    int num = 4562;

    printf("Given number: %d\n", num);
    printf("Reverse of the number: %d", reverseDigits(num));

    return 0;
} 

Output
Given number: 4562
Revers of the number: 2654

Explanation

  • num % 10 extracts the last digit of the number.
  • rev_num * 10 + digit adds the digit to the reversed number.
  • num /= 10 removes the last digit from num.
  • The loop continues until all digits are processed.

For 4562, the reversed number is built as:

0 -> 2 -> 26 -> 265 -> 2654

Comment