C语言实现两个变量值交换:无需额外变量
可以使用异或运算符 ('^') 来实现两个变量值的交换,代码如下:
#include <stdio.h>
void swap(int *a, int *b) {
*a = *a ^ *b;
*b = *a ^ *b;
*a = *a ^ *b;
}
int main() {
int num1 = 10;
int num2 = 20;
printf('Before swapping: num1 = %d, num2 = %d\n', num1, num2);
swap(&num1, &num2);
printf('After swapping: num1 = %d, num2 = %d\n', num1, num2);
return 0;
}
运行结果:
Before swapping: num1 = 10, num2 = 20
After swapping: num1 = 20, num2 = 10
在swap函数中,首先使用异或运算交换a和b的值,然后将结果再次与b进行异或运算,最后将结果再次与a进行异或运算,实现了两个变量值的交换。
原文地址: https://www.cveoy.top/t/topic/qijH 著作权归作者所有。请勿转载和采集!