c语言交换两个字符:
方法一:利用指针传址,效率比较高
1 void swap(int *a,int *b) 2 { 3 int temp; 4 temp = *a; 5 *a = *b; 6 *b = temp 7 }
方法二:利用引用加减或乘除运算来交换,存在缺陷,有可能导致溢出
swap(int &a,int &b) { a = a+b;//a=a*b; b = a-b;//b=a/b; a = a-b; //a=a/b; }
方法三:引用异或
1 void swap(int &a,int &b) 2 { 3 a ^= b; 4 b ^= a; 5 a ^ =b; 6 }
c语言交换两个字符串:利用指针改变地址
1 void swap(char **a,char **bb) 2 { 3 char *temp; 4 *temp = *a; 5 *a = *b; 6 *b = *temp; 7 }