用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/iBuW 著作权归作者所有。请勿转载和采集!