#include void swap(int *, int *); void swap_ptr(int **, int **); void main(void) { int one = 11, two = 22; int *ptr1, *ptr2; ptr1 = &one; ptr2 = &two; printf("\nInitial values \n"); printf("\nAddress of one = %x two = %x ptr1 = %x ptr2 = %x\n", &one, &two, &ptr1, &ptr2); printf("Value of one = %d two = %d ptr1 = %x ptr2 = %x\n", one, two, ptr1, ptr2); printf("Value of *ptr1 = %d *ptr2 = %d\n", *ptr1, *ptr2); swap(&one, &two); printf("\nAfter swapping one and two\n"); printf("\nAddress of one = %x two = %x ptr1 = %x ptr2 = %x\n", &one, &two, &ptr1, &ptr2); printf("Value of one = %d two = %d ptr1 = %x ptr2 = %x\n", one, two, ptr1, ptr2); printf("Value of *ptr1 = %d *ptr2 = %d\n", *ptr1, *ptr2); swap(ptr1, ptr2); printf("\nAfter swapping ptr1 and ptr2\n"); printf("\nAddress of one = %x two = %x ptr1 = %x ptr2 = %x\n", &one, &two, &ptr1, &ptr2); printf("Value of one = %d two = %d ptr1 = %x ptr2 = %x\n", one, two, ptr1, ptr2); printf("Value of *ptr1 = %d *ptr2 = %d\n", *ptr1, *ptr2); swap_ptr(&ptr1, &ptr2); printf("\nAfter swapping &ptr1 and &ptr2\n"); printf("\nAddress of one = %x two = %x ptr1 = %x ptr2 = %x\n", &one, &two, &ptr1, &ptr2); printf("Value of one = %d two = %d ptr1 = %x ptr2 = %x\n", one, two, ptr1, ptr2); printf("Value of *ptr1 = %d *ptr2 = %d\n", *ptr1, *ptr2); } void swap(int *one, int *two) { int temp = *one; *one = *two; *two = temp; } void swap_ptr(int **one, int **two) { int *temp = *one; *one = *two; *two = temp; }