 # C Program to Reverse a Number

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

## Reverse an Integer

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

int main() {

int n, reverse = 0, remainder;

printf("Enter an integer: ");
scanf("%d", &n);

while (n != 0) {
remainder = n % 10;
reverse = reverse * 10 + remainder;
n /= 10;
}

printf("Reversed number = %d", reverse);

return 0;
}``````

Output

```Enter an integer: 2345
Reversed number = 5432
```

This program takes integer input from the user. Then the `while` loop is used until `n != 0` is false (0).

In each iteration of the loop, the remainder when n is divided by 10 is calculated and the value of n is reduced by 10 times.

Inside the loop, the reversed number is computed using:

``reverse = reverse * 10 + remainder;``

Let us see how the `while` loop works when `n = 2345`.

n n != 0 remainder reverse
2345 true 5 0 * 10 + 5 = 5
234 true 4 5 * 10 + 4 = 54
23 true 3 54 * 10 + 3 = 543
2 true 2 543 * 10 + 2 = 5432
0 false - Loop terminates.

Finally, the reverse variable (which contains the reversed number) is printed on the screen.