# C program to find reverse of a number

Category: C Program

Learn how to write a C program to find the reverse of a number. This article provides a detailed explanation and sample code for this fundamental task in C programming.

Reversing the digits of a number is a fundamental problem in programming that helps in understanding basic arithmetic operations and loops. This article will guide you through writing a C program to reverse the digits of a given number, providing a detailed explanation and sample code.

## Steps to Find the Reverse of a Number

To solve this problem, follow these steps:

1. Input the Number: Read the number from the user.
2. Extract Each Digit: Use a loop to extract each digit of the number.
3. Construct the Reverse: Build the reversed number by appending the extracted digits.
4. Print the Result: Output the reversed number to the console.

## Write a C program to find reverse of a number

Here's a C program to reverse the digits of a number:

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

int main() {
int number, digit, reverse = 0;

// Input the number
printf("Enter an integer: ");
scanf("%d", &number);

// Calculate the reverse of the number
while (number != 0) {
digit = number % 10;      // Extract the last digit
reverse = reverse * 10 + digit;  // Append the digit to the reversed number
number /= 10;             // Remove the last digit
}

// Print the result
printf("Reversed number: %d", reverse);

return 0;
}
``````

Output

``````Enter an integer: 1234
Reversed number: 4321
``````

### Explanation

1. Input the Number: The program prompts the user to enter an integer. The `scanf` function reads the input number and stores it in the variable `number`.
2. Extract Each Digit:
• The `while` loop continues as long as `number` is not equal to `0`.
• The last digit is extracted using the modulus operator (`%`). For example, if `number` is `1234`, `digit = 1234 % 10` will result in `digit = 4`.
3. Construct the Reverse:
• The extracted digit is appended to the `reverse` variable by multiplying `reverse` by 10 and adding the digit. For the initial iteration, `reverse = 0 * 10 + 4` results in `reverse = 4`.
• The last digit is removed from `number` using integer division (`/`). For example, `number = 1234 / 10` results in `number = 123`.
4. Repeat: The loop continues, extracting and appending each digit until `number` is `0`.
5. Print the Result: The program prints the reversed number to the console using the `printf` function.

### Detailed Steps

• Step 1: Input the Number
• Use `printf` to prompt the user for input.
• Use `scanf` to read the number from the user.
• Step 2: Extract Each Digit
• Use a `while` loop to continue processing as long as `number` is not zero.
• Use the modulus operator (`%`) to get the last digit of the number.
• Step 3: Construct the Reverse
• Multiply the `reverse` variable by 10 and add the extracted digit.
• Remove the last digit from the number using integer division (`/`).
• Step 4: Print the Result
• Use `printf` to display the reversed number.

### Example

For an input of `1234`, the program will:

• Extract `4` and append it to `reverse` (reverse = 4).
• Extract `3` and append it to `reverse` (reverse = 43).
• Extract `2` and append it to `reverse` (reverse = 432).
• Extract `1` and append it to `reverse` (reverse = 4321).

The output will be `Reversed number: 4321`.