In this example, you will learn how to swap two numbers with two different methods.
Contents
Method 1: Swap Two Numbers using Temporary variable
Method 2: Swap Two Numbers without using Temporary variable
C Program to Swap Two Numbers using temporary variable
#include <stdio.h>
int main()
{
int a, b, temp;
printf("Enter A value \n");
scanf("%d",&a);
printf("Enter B value \n");
scanf("%d",&b);
printf("Value of A : %d\n",a);
printf("Value of B : %d\n",b);
//swap logic
temp=a;
a=b;
b=temp;
printf("Value of A after swap: %d\n",a);
printf("Value of B after swap: %d\n",b);
return 0;
}
Run Code on Online C CompilerOutput
Enter A value 10
Enter B value 20
Value of A : 10
Value of B : 20
Value of A after swap: 20
Value of B after swap: 10
Explanation
This C program asks the user to enter two integer values a
and b
, reads them using scanf()
, and then swaps the values of a
and b
using a temporary variable temp
. The program then displays the values of a
and b
before and after the swap using printf()
.
The program first declares three integer variables a
, b
, and temp
. It then prints a message to the console asking the user to enter the value of a
using printf()
. The scanf()
function is used to read the value of a
entered by the user, and the address of a
is passed as the second argument to scanf()
using the &
operator to ensure that the value entered by the user is stored in the memory location reserved for the a
variable.
Similarly, the program prompts the user to enter the value of b
using printf()
, and reads it using scanf()
with the address of b
passed as the second argument.
Next, the program displays the values of a
and b
before the swap using printf()
. Then, it performs the swap by storing the value of a
in temp
, assigning the value of b
to a
, and finally assigning the value of temp
to b
.
Finally, the program displays the values of a
and b
after the swap using printf()
, and returns 0 to indicate successful completion of the main()
function.
C Program to Swap two numbers without using Temporary variable
#include <stdio.h>
int main() {
int a, b;
printf("Enter A: \n");
scanf("%d", &a);
printf("Enter B: \n");
scanf("%d", &b);
// swapping logic
// a = (a - b)
a = a - b;
// b = (a - b) + b = a (initial)
b = a + b;
// a = a - (a - b) = b (initial)
a = b - a;
printf("Value of A after swap: %d\n", a);
printf("Value of B after swap: %d\n", b);
return 0;
}
Run Code on Online C CompilerOutput:
Enter A: 10
Enter B: 29
Value of A after swap: 29
Value of B after swap: 10
Explanation
This C program prompts the user to enter two integer values a
and b
, reads them using scanf()
, swaps their values without using a temporary variable, and then displays the swapped values of a
and b
using printf()
.
After declaring a
and b
as integer variables, the program asks the user to input the values of a
and b
using printf()
and scanf()
, respectively.
Next, the program performs the swap operation without using a temporary variable. It subtracts b
from a
and assigns the result to a
, which effectively stores the difference between the two variables in a
. Then, it adds b
to the new value of a
and assigns the result to b
, which effectively stores the original value of a
in b
. Finally, it subtracts the new value of a
from b
and assigns the result to a
, which effectively stores the original value of b
in a
. At this point, the values of a
and b
have been swapped.
Lastly, the program displays the values of a
and b
after the swap using printf()
, and returns 0 to indicate successful completion of the main()
function.
Overall, this program demonstrates a way to swap two variables without using a temporary variable in C programming language.
Follow us on Facebook, YouTube, Instagram, and Twitter for more exciting content and the latest updates.