#include <iostream> // Define swapPtr(int* a, int* b) void swapPtr(int* a, int* b){ *a = *a ^ *b; *b= *a ^ *b; *a = *a ^ *b; } void swapRef(int& a, int& b){ a = a^b; b = b^a; a = a^b; } int main() { int x, y; std::cin >> x >> y; int a = x, b = y; swapPtr(&a, &b); std::cout << "After swapPtr: a=" << a << " b=" << b << "\n"; int c = x, d = y; swapRef(c, d); std::cout << "After swapRef: a=" << c << " b=" << d; return 0; }
Test Cases
Test Results
Input
5 10
Expected Output
After swapPtr: a=10 b=5 After swapRef: a=10 b=5