Whats the difference between

Code:
void swap(int* a,int* b)
{
	int x=*a,y=*b;
	x=x+y;
	y=x-y;
	x=x-y;
	*a=x; *b=y;
	return;
}
and...

Code:
void swap(int* a,int* b)
{
	*a=*a+*b;
	*b=*a-*b;
	*a=*a-*b;
	return;
}