C Program To Swap Two Numbers Without Third Variable

In this example, we are going to take two input from user and swap value of them.

There are two common method to swap numbers without declaring third variable.

  1. Using + and -
  2. Using * and /

Swapping Two Numbers Using + and - :

	
#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;  
}
	

Output :

	
		Before swap a=10 b=20
		After swap a=20 b=10
	

Swapping Two Numbers Using * and / :

	
		#include 
		int main()    
		{    
		    int a=10, b=20;      
		    printf("Before swap a=%d b=%d",a,b);       
		    a=a*b;//a=200 (10*20)    
		    b=a/b;//b=10 (200/20)    
		    a=a/b;//a=20 (200/10)  
		    printf("\nAfter swap a=%d b=%d",a,b);       
		    return 0;  
		}  
	

Output :

	
		Before swap a=10 b=20
		After swap a=20 b=10
	

Share your thoughts

Ask anything about this examples