Чтобы поменять местами значения двух целочисленных переменных кроме как через использование дополнительной переменной, можно сделать так:
a += b; b = a - b; a -= b;
Интересно разве что с академической точки зрения. Но есть способ интереснее:
a ^= b ^= a ^= b;
который также меняет местами значения этих переменных.
Update: В комментариях подсказали грамотную ссылку (Bit Twiddling Hacks) по трюкам с битовой арифметикой.