#include <stdio.h> void swap(int *p1, int *p2) { // Your logic here int temp; temp = *p1; *p1 = *p2; *p2 = temp; } int main() { int a, b; scanf("%d %d", &a, &b); swap(&a, &b); printf("a = %d ", a); printf("b = %d", b); return 0; }
✅ Step-by-Step Algorithm
ptr1
ptr2
temp
temp = *ptr1
*ptr1 = *ptr2
*ptr2 = temp
✅ Step-by-Step Algorithm (Using XOR)
ptr1 != ptr2
*ptr1 = *ptr1 ^ *ptr2
*ptr2 = *ptr1 ^ *ptr2
Test Cases
Test Results
Input
10 20
Expected Output
a = 20 b = 10