So, the standard way of swapping variables is to use a temporary variable:
int x = 5; int y = 7; int temp = 0;
temp = x;
x = y;
y = temp;

However, are you able to swap the variables without using a temporary variable?

Solution 1: using arithmatic
As x-x = 0, then x is equal to (x+y) – y, and y is equal to (x+y)-x.
So, using the above properties (I will use a ‘->’ for assignment and ‘=’ for equals):
x’ -> x+y
y’ -> x’-y     = (x+y) – y
x’ ->  x’ – y’ = (x+y) – y’
You will find the numbers have been swapped.

Solution 2: using exclusive or (XOR)
XOR (^) has the following properties:
x^x = 0
x^0 = x
(x^y)^z = x^(y^z)

So using these properties

x’ -> x^y

y’ -> (x^y)^y = x’^y = x

x’ -> x’^y’ = (x^y)^y’

You will also now find the numbers have been swapped.