第一种:
- #define mySwap(a,b) ( a^=b; b^=a,;a^=b ;) 这种方式不会造成数据的溢出
第二种:
2. #definemySwap(a,b) (a=a+b; b=a-b;a=a-b;) 这种容易造成数据的溢出
第三种是基于内存拷贝的方法:
3, #define mySwap(a,b) { int size = sizeof(a); char * temp = (char *) malloc(size); memcpy(temp,&a,size);memcpy(&a, &b, size); memcpy(&b,temp,size); free(temp);}