c语言交换十位和个位交换
时间: 2024-09-30 17:01:01 浏览: 100
8207191303_胡韵涛1
在C语言中,我们可以使用位运算来交换一个整数的十位和个位。这是因为整数实际上是由二进制位组成的,通过按位与、异或以及左移操作可以实现这一目标。下面是一个简单的函数示例:
```c
#include <stdio.h>
// 定义一个函数来交换两个整数的个位和十位
void swap(int *num) {
int temp = (*num & 0x0F); // 获取个位(0x0F等于十进制的15,即1111二进制)
*num &= ~0x0F; // 移除个位
*num |= (temp << 4); // 将个位左移四位并添加回原数
*num ^= temp; // 使用异或操作交换剩余的十位和临时的个位
}
int main() {
int num;
printf("请输入一个两位数: ");
scanf("%d", &num);
swap(&num);
printf("交换后的数: %d\n", num);
return 0;
}
```
在这个程序中,我们首先获取个位(最低四位),然后清除这个位置,将临时值存储到原来的位置上,最后通过异或操作将十位(其他四位)与临时值交换。
阅读全文