# C 程序：反转数字

> 原文： [https://www.programiz.com/c-programming/examples/reverse-number](https://www.programiz.com/c-programming/examples/reverse-number)

#### 在此示例中，您将学习反转用户输入的数字。

要理解此示例，您应该了解以下 [C 编程](/c-programming "C tutorial")主题：

*   [C 编程运算符](/c-programming/c-operators)
*   [C `while`和`do...while`循环](/c-programming/c-do-while-loops)

* * *

## 反转整数

```c
#include <stdio.h>
int main() {
    int n, rev = 0, remainder;
    printf("Enter an integer: ");
    scanf("%d", &n);
    while (n != 0) {
        remainder = n % 10;
        rev = rev * 10 + remainder;
        n /= 10;
    }
    printf("Reversed number = %d", rev);
    return 0;
} 
```

**输出**

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

* * *

该程序从用户处获取整数输入。 然后使用`while`循环，直到`n != 0`为假（0）。

在循环的每次迭代中，计算`n`除以 10 时的余数，并且`n`的值减少 10 倍。

在循环内部，使用以下公式计算倒数：

```c
rev = rev*10 + remainder; 
```