#include <stdio.h> void swap_pointers(int **p1, int **p2) { // Your logic here int *temp = *p1; *p1 = *p2; *p2 = temp; } int main() { int a, b; scanf("%d %d", &a, &b); int *p1 = &a; int *p2 = &b; swap_pointers(&p1, &p2); printf("%d %d", *p1, *p2); return 0; }
swap two pointers using double pointer
1.Store *p1 in a temporary pointer: temp = *p1
*p1
temp = *p1
2.Assign *p1 = *p2
*p1 = *p2
3.Assign *p2 = temp
*p2 = temp
Test Cases
Test Results
Input
10 20
Expected Output
20 10