试用几种方法实现swap函数,比较效率高低. 首先说结果,最快的是赋值交换. 原因分析 gcc开启O2优化后,三个函数的汇编代码一样.是的,除了第一行的文件名,一模一样. 附代码 void swap1(int *a, int *b) { //赋值交换 int temp; temp = *a; *a = *b; *b = temp; } void swap2(int *a, int *b) { //加减法(可能导致int溢出),乘除法(溢出,除数不能为零) *a = *a + *b; *b = *