This is one of my favourite interview questions. It’s a really simple question.

OK. Let’s see the typical wrong answer:

int a = 5; int b = 6; //store 'x' in a temp variable int temp = a; a = b; b = temp;

This answer is wrong because it contains an unnecessary variable.

And there are some good solutions:

a = a * b; b = a / b; a = a / b;

or

a = a + b; b = a - b; a = a - b;

or

a ^= b; b ^= a; a ^= b;