大连网站建设制作公司,wordpress cdn注意事项,吉安网站开发,wordpress怎么ftp建站C语言在不使用临时变量的情况下实现变量交换
思路#xff1a;看见交换变量#xff0c;那么最容易考虑到的就是使用临时变量交换。如果不允许使用临时变量那么该如何考虑呢#xff1f;使用^异或位运算(二进制位相同为0 不同为1)#xff0c;通过利用异或运算的特性可以完成交…C语言在不使用临时变量的情况下实现变量交换
思路看见交换变量那么最容易考虑到的就是使用临时变量交换。如果不允许使用临时变量那么该如何考虑呢使用^异或位运算(二进制位相同为0 不同为1)通过利用异或运算的特性可以完成交换。
int main()
{int a 3;int b 5;a a ^ b;//0011 ^ 0101 0110b a ^ b;//0110 ^ 0101 0011a a ^ b;//0110 ^ 0011 0101printf(a %d,b %d,a,b);return 0;
}其实想要完成交换还可以通过加减法、乘除法但是这些方法具有一定的局限性对数字有很多要求不然可以会发生溢出或者精度不准等问题。