In this post you will learn simple C Example to swap two numbers without using third variable. In computer programming, the act of swapping two variables refers to mutually exchanging the values of the variables. Usually, this is done with the data in memory.
Program 1:
#include<stdio.h>
#include<conio.h>
main()
{
int a=10, b=20;
clrscr();
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);
getch();
}
Output:
Before swap a=10 b=20
After swap a=20 b=10
Program 2: Using * and /
Let's see another example to swap two numbers using * and /.
Program 2:
#include<stdio.h>
#include<conio.h>
main()
{
int a=10, b=20;
clrscr();
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);
getch();
}
Output:
Before swap a=10 b=20
After swap a=20 b=10
Program 3: Making use of bitwise XOR operator:
The bitwise XOR operator can be used to swap two variables. The XOR of two numbers x and y returns a number which has all the bits as 1 wherever bits of x and y differ. For example XOR of 10 (In Binary 1010) and 5 (In Binary 0101) is 1111 and XOR of 7 (0111) and 5 (0101) is (0010).
#include <stdio.h>
int main()
{
int x = 10, y = 5;
// Code to swap 'x' (1010) and 'y' (0101)
x = x ^ y; // x now becomes 15 (1111)
y = x ^ y; // y becomes 10 (1010)
x = x ^ y; // x becomes 5 (0101)
printf("After Swapping: x = %d, y = %d", x, y);
return 0;
}
Output:
After Swapping: x = 5, y = 10
No comments:
Post a Comment