/******************************************************************************
Welcome to GDB Online.
GDB online is an online compiler and debugger tool for C, C++, Python, Java, PHP, Ruby, Perl,
C#, OCaml, VB, Swift, Pascal, Fortran, Haskell, Objective-C, Assembly, HTML, CSS, JS, SQLite, Prolog.
Code, Compile, Run and Debug online from anywhere in world.
*******************************************************************************/
#include <iostream>
using namespace std;
void swapbyReference(int& x, int& y)
{
cout << "Address of Param (Reference) = " << &x << endl;
int z = x;
x = y;
y = z;
}
void swapbyPointer(int *x, int *y)
{
cout << "Address of Param (Pointer) = " << &x << endl;
cout << "Value of Param (Pointer) = " << x << endl;
int z = *x;
*x = *y;
*y = z;
}
int main()
{
int a = 5, b = 4;
cout << "Address of Variable = " << &a << endl;
swapbyReference(a, b);
swapbyPointer(&a, &b);
}