用c语言将上述代码编写一遍
时间: 2024-11-13 13:25:18 浏览: 3
嵌入式C语言编写注意事项.doc
当然,下面是使用C语言分别实现两种方法,交换两个变量的值:
**方案一:使用第三个变量**
```c
#include <stdio.h>
// 函数声明
void swapVariablesUsingTemp(int* a, int* b);
int main() {
int num1 = 5, num2 = 10;
printf("Original values:\nnum1 = %d, num2 = %d\n", num1, num2);
// 调用函数交换
swapVariablesUsingTemp(&num1, &num2);
printf("Swapped values:\nnum1 = %d, num2 = %d\n", num1, num2);
return 0;
}
// 实现第三个变量的交换方法
void swapVariablesUsingTemp(int* a, int* b) {
int temp = *a;
*a = *b;
*b = temp;
}
```
**方案二:不使用第三个变量(位运算)**
```c
#include <stdio.h>
// 函数声明
void swapVariablesWithoutTemp(int* a, int* b);
int main() {
int num1 = 5, num2 = 10;
printf("Original values:\nnum1 = %d, num2 = %d\n", num1, num2);
// 调用函数交换
swapVariablesWithoutTemp(&num1, &num2);
printf("Swapped values:\nnum1 = %d, num2 = %d\n", num1, num2);
return 0;
}
// 实现无临时变量的交换方法
void swapVariablesWithoutTemp(int* a, int* b) {
*a = *a ^ *b; // 异或操作
*b = *a ^ *b; // 再异或恢复原值
*a = *b ^ *a; // 再次异或得到原始的b
}
```
以上代码首先定义了主函数`main()`,然后分别调用了两个不同的函数`swapVariablesUsingTemp()`和`swapVariablesWithoutTemp()`来进行交换。这两个函数接收指向`int`类型的指针,用于间接访问和修改变量的值。
阅读全文