Solve Exercise 4-14: Swap Macro

Thanks to ##c on Freenode for helping me understand what the text
didn't clarify.