C语言——两个数互换的妙用
博客申明——
为学习 C语言的朋友提供良好的学习平台,欢迎转载。
同时也欢迎有其他方面的C语言技巧告知本人发布让更多人受益!
———功德无量(呵呵)
程序都经过本作者调试过,如有问题请联系_QQ:434400311
_________________________________________________ 正 文 ____________________________________________________________
通常情况下,互换两个数需要一个媒介来替换;
例如变量 “i”:
1 #include <stdio.h> 2 3 int main(void) 4 { 5 int a = 0, b = 1; //需要互换的两个数 6 int i; //互换的中间媒介 7 8 //程序主体 9 i = a; 10 a = b; 11 b = i; 12 13 printf("a = %d\t b = %d", a ,b); 14 15 return 0; 16 }
其实也可以这样。
1 #include <stdio.h> 2 3 int main(void) 4 { 5 int a = 0, b = 1; //需要互换的两个数 6 7 //程序主体 8 a += b; 9 b = a - b; 10 a = a - b; 11 12 printf("a = %d\t b = %d", a ,b); 13 14 return 0; 15 }
最后或许有很多新手程序猿没用过的方法——按位异或 “^”
1 #include <stdio.h> 2 3 int main(void) 4 { 5 int a = 0, b = 1; //需要互换的两个数 6 7 //程序主体 8 a ^= b; //a = a ^ b; 9 b ^= a; 10 a ^= b; 11 12 printf("a = %d\t b = %d", a ,b); 13 14 return 0; 15 }
END
感谢 : ianhom 提出的纠正错误,已经第一时间修改。