c语言将一个123进行反转321
时间: 2024-11-05 10:35:03 浏览: 9
c语言-c语言编程基础之leetcode题解第7题整数反转.zip
在C语言中,我们可以使用数组或者字符指针来反转一个整数如123。这里我将展示两种简单的方法:
**方法一:通过数组**
```c
#include <stdio.h>
int reverse(int num) {
int reversed = 0;
char digits[5]; // 可能需要处理更大数字的话,可以调整这个大小
// 分割数字并存入数组
while (num > 0) {
digits[digit_count] = num % 10 + '0';
digit_count++;
num /= 10;
}
// 反转数组元素并拼接成新数字
for (int i = digit_count - 1; i >= 0; i--) {
reversed = reversed * 10 + digits[i];
}
return reversed;
}
int main() {
int num = 123;
printf("Reversed number: %d\n", reverse(num));
return 0;
}
```
**方法二:位操作(适用于小范围整数)**
C语言没有直接的内置函数来反转大整数,但对于较小的整数,可以用位操作来完成。这种方法更简洁,但只适用于不需要考虑溢出的小范围整数。
```c
#include <stdio.h>
int reverse(int num) {
return ((num & 0x000000FF) << 24) | // 低位到高位
((num & 0x0000FF00) << 8) | // 中间位向左移动一位
((num & 0x00FF0000) >> 8) | // 高位移至中间
((num & 0xFF000000) >> 24); // 最高位移至最低位
}
int main() {
int num = 123;
printf("Reversed number: %d\n", reverse(num));
return 0;
}
```
阅读全文