Swap two numbers without using temporary variables

#include < stdio.h>
int main()
{
int a=10, b=20;
printf("Before swap a=%d b=%d",a,b);
a=a+b;//a=30 (10+20)
b=a-b;//b=10 (30-20)
a=a-b;//a=20 (30-10)
printf("\nAfter swap a=%d b=%d",a,b);
return 0;
}

Swap with using temporary variables

#include < stdio.h>
int main()
{
int a=10, b=20;
printf("Before swap a=%d b=%d",a,b);
int temp=a;
a=b;
b=temp;
printf("\nAfter swap a=%d b=%d",a,b);
return 0;
}

Swap two numbers without using temporary variables

#include < stdio.h>
int main()
{
int a=10, b=20;
printf("Before swap a=%d b=%d",a,b);
swap(a,b);
printf("\nAfter swap a=%d b=%d",a,b);
return 0;
}