Please note that i've often used the integer arithmetic swap in C until one day, when the data-type overflowed due to the implied numbers in the operations and I realised it's not a goo method !