在VC++中如何不通过中间变量交换两个变量的值?

来源:百度知道 编辑:UC知道 时间:2024/05/28 08:46:09

可以这样,比如要交换a和b的值
a=a+b;/*a变为a与b的和*/
b=a-b;/*b变为a与b的和减去b,就是a*/
a=a-b;/*a变为a与b的和减去a(因为现在b的值是原来a的值),就是原来b的值*/

C语言中不能不通过中间变量交换两个值,因为“=”的作用是赋值。
如t=a;a=b;a=t,
即将a的值赋给t,将b的值赋给a,再将t的值赋给a。
通过这一过程达到a与b交换值的效果

既然数值型可以通过4楼的方式实现,那所有的类型都可以这样考虑了,通过可以考虑交换两个变量的对应的地址实现变量值交换,大家可以尝试看看是否可行。

4楼的方法太经典啊 头脑好 学习

二楼方法我听过

不过4楼方法更好啊,学习了

呵呵我不知道的,但是我很想知道答案~所以回答一下以便能继续关注这个题目~呵呵~