排他的論理和を使って、一時変数を使わずに、2つの変数の値を交換することができます。
swap.c
#include <stdio.h>
int main(void) {
int x=10,y=20;
printf("x:%d y:%d\n",x,y);
x ^= y;
y ^= x;
x ^= y;
printf("x:%d y:%d\n",x,y);
return 0;
}
output
x:10 y:20
x:20 y:10
他の言語でも同様にできるはずです。