/* File: swap2.c --------------------------------------- Using parameter passing by reference to swap 2 variables. This time with some extra printf statements. */ #include /* Prototypes */ void swap_integers (int *, int *) ; main() { int a = 1, b = 15 ; printf("\nBefore swap: a = %d, b = %d\n", a, b) ; printf("Before swap: &a = %d, &b = %d\n", &a, &b) ; swap_integers (&a, &b) ; printf("\nAfter swap: a = %d, b = %d\n", a, b) ; printf("Before swap: &a = %d, &b = %d\n", &a, &b) ; } void swap_integers (int *ptr1, int *ptr2) { int temp ; printf("\nInside swap: ptr1 = %d, ptr2 = %d\n", ptr1, ptr2) ; printf("Inside swap: *ptr1 = %d, *ptr2 = %d\n", *ptr1, *ptr2) ; temp = *ptr1 ; *ptr1 = *ptr2 ; *ptr2 = temp ; } ---------------------------------------------------- Before swap: a = 1, b = 15 Before swap: &a = 2147469132, &b = 2147469128 Inside swap: ptr1 = 2147469132, ptr2 = 2147469128 Inside swap: *ptr1 = 1, *ptr2 = 15 After swap: a = 15, b = 1 Before swap: &a = 2147469132, &b = 2147469128