#include <iostream> // Define swapPtr(int* a, int* b) void swapPtr( int *a, int*b) { *a = *a+*b; *b = (*a-*b); *a = (*a-*b); } // Define swapRef(int& a, int& b) void swapRef(int &a, int& b) { a = a+b; b= (a-b); 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