最近在论坛里又看到一个很熟悉的问题:不使用中间变量交换两个变量的值。网上流传的大概有两种方法,在这里总结一下。
【方法一】
假设须要交换的两个变量都是整型,变量名分别为a和b。
a = a^b;
b = a^b;
a = a^b;
评价:该方法只能针对整形变量进行操做。
【方法二】
假设须要交换的两个变量名分别为a和b。
a=a+b;
b=a-b;
a=a-b;
评价:该方法虽然能够用于浮点数,可是在变量值比较大的状况下可能会产生溢出。
后记:其实使用中间变量交换两个数并不会增长程序多少负担。相反,在实际的项目开发中,若是使用上述技巧交换两个变量的值,会下降程序的可读性,弊大于利!因此,不建议在实际开发中使用相似的技巧。
spa