The wrong way:
void swap(int a, int b) { int temp = a; // only local "copies" of a and b will swap a = b; b = temp; } int main(void) { int a = 5, b = 7; swap(a, b); printf("a = %d, b = %d\n", a, b); // a and b still have their original values return 0; }