不用临时变量交换两个变量的值,欢迎讨论一下
看书偶遇一程序,不用临时变量交换两个变量的值,下面是程序片段.
偶认为比较经典,特发帖共享给大家,也欢迎讨论一下:
int a = 5;
int b = 6;
printf("a = %d\n", a);
printf("b = %d\n", b);
a = a^b;
b = a^b;
a = a^b;
printf("a = %d\n", a);
printf("b = %d\n", b);
输出结果为:
a = 5
b = 6
a = 6
b = 5
其中^为XOR(异或),该原理也广泛应用于计算机图形学方面.