c语言交换两个数的值
时间: 2024-09-23 14:14:16 浏览: 45
输入两个数.docx
在 C 语言中,交换两个整数变量的值不需要使用额外的临时变量,可以使用异或运算(XOR)来实现,因为异或操作的性质是 `a XOR b XOR b = a`。以下是简单的代码示例:
```c
#include <stdio.h>
void swap(int *a, int *b) {
if (a && b) { // 检查指针是否为空
*a = *a ^ *b; // 第一次异或操作,a的新值等于原来的a和b相异或
*b = *a ^ *b; // 第二次异或操作,此时b的值等于原来的a
*a = *a ^ *b; // 第三次异或操作,a的原始值又恢复为原b
}
}
int main() {
int x = 5;
int y = 10;
printf("Before swapping: x = %d, y = %d\n", x, y);
swap(&x, &y); // 传递变量的地址给swap函数
printf("After swapping: x = %d, y = %d\n", x, y);
return 0;
}
```
阅读全文