#include <stdio.h> main() { int a,b; printf("Please input two numbers:\n"); scanf("%d",&a); scanf("%d",&b); printf("\n"); printf("The two input numbers is a=%d, b=%d:\n\n",a,b); a = a^b; b = b^a; a = a^b; printf("The numbers after changing are:a=%d,b=%d\n\n",a,b); getchar(); }
这部分内容属于巧用位运算,以整数位例,读者可以将整数换成二进制的格式,然后进行异或运算,就可以验证变换过程啦~
在这里我做的实验是只能用整形数来交换顺序,浮点数的没有成功,欢迎交流讨论。
如果用浮点数,我只用传统方法进行试验,设置一个临时变量来做。