/** * noswap.c * * David J. Malan * malan@harvard.edu * * Should swap two variables' values, but doesn't! How come? */ #include void swap(int a, int b); int main(void) { int x = 1; int y = 2; printf("x is %i\n", x); printf("y is %i\n", y); printf("Swapping...\n"); swap(x, y); printf("Swapped!\n"); printf("x is %i\n", x); printf("y is %i\n", y); } /** * Fails to swap arguments' values. */ void swap(int a, int b) { int tmp = a; a = b; b = tmp; }