C语言中交换两个变量值(a,b)的几种方法:
1、利用临时变量:
</pre><pre name="code" class="objc">int temp;
temp = a;
a = b;
b = temp;
2、不用临时变量(这种方法有可能溢出):
<pre name="code" class="objc">a = a + b;
b = a - b;
a = a - b;
3、用按位运算符(这种方法不适合浮点数):
<pre name="code" class="objc">a = a ^ b;
b = a ^ b;
a = a ^ b;
4、内存拷贝方法(个人觉得这种方法很经典):
<pre name="code" class="objc">int size = sizeof(a);
char* temp = (char*)malloc(size);
memcpy(temp, &a, size);
memcpy(&a, &b, size);
memcpy(&b, temp, size);
free(temp);
还有其他的交换方法,希望各位高手继续补充,谢谢。