#include // we define a macro to swap to variables: #define SWAP(A,B) temp__yzVBZq = A; A = B; B = temp__yzVBZq // global variable used by the above macro: int temp__yzVBZq; // Why do we use this crazy name? int main(void) { // our two variables: int one = 1, two = 2; // now, we do not want to swap them: if (0) SWAP(one,two); // look at the result: printf("one = %d, two = %d\n", one, two); // end: return 0; }