#include <stdio.h> /* 加减法 整型、浮点型(损失精度) */ void swap1(int *a,int *b) { *a=*a+*b; *b=*a-*b; *a=*a-*b; } /* 异或法 整型 */ void swap2(int *a,int *b) { *a=*a^*b; *b=*a^*b; *a=*a^*b; } /* 乘除法 整型、浮点型(损失精度),b!=0 */ void swap3(int *a,int *b) { *a=(*a)*(*b); *b=(*a)/(*b); *a=(*a)/(*b); } int main() { int a=3,b=4; swap1(&a,&b); printf("%d %d\n",a,b); swap2(&a,&b); printf("%d %d\n",a,b); swap3(&a,&b); printf("%d %d\n",a,b); return 0; }
文章评论