C语言程序,两个数据交换,不用第三方变量,仅仅用两个变量如何实现?已解答。
本帖最后由 jianhong_wu 于 2015-4-11 13:07 编辑问:
C语言程序,两个数据交换,不用第三方变量,仅仅用两个变量如何实现?
伟仔-肇庆:
a=a+b;b=a-b;a=a-b;
坚鸿-深圳:
妙呀。
转眼十年-西安:
方法很多,思路就是能够两个变量a,b能够保存a或b或 a与b的和或差或积或商中的任意两个。这样就可以还原出a与b的值。但是不建议使用积或者商,这样会导致出错。单片机里边最好的办法就是用异或。这样
a = a ^ b;
b = a ^ b;
a = a ^ b;
妙,,,就是得注意溢出 方法很多,思路就是能够两个变量a,b能够保存a或b或 a与b的和或差或积或商中的任意两个。这样就可以还原出a与b的值。但是不建议使用积或者商,这样会导致出错。单片机里边最好的办法就是用异或。这样
a = a ^ b;
b = a ^ b;
a = a ^ b; 转眼十年未谋面 发表于 2015-4-10 22:23
方法很多,思路就是能够两个变量a,b能够保存a或b或 a与b的和或差或积或商中的任意两个。这样就可以还原出a ...
很好,学习了
页:
[1]