Swapping numbers

Swapping numbers means exchanging the values between two or more variables. In this program we are going to swap two numbers without using any temporary variable.

Logic

  1. Store addition of variable a and b (a+b) to variable a.
  2. Now extract b from a and store it to b.
  3. Extract b from a and store it to a.

Now b is holding a’s original value and similarly a is holding b’s original value.

Program

#include <stdio.h>

int main() {

    int a, b;

    printf("Enter number a : ");
    scanf("%d", &a);

    printf("Enter number b : ");
    scanf("%d", &b);

    printf("\n\nBefore swapping a = %d b = %d\n", a, b);

    //Swapping number
    a = a + b;
    b = a - b;
    a = a - b;

    printf("After swapping a = %d b = %d\n", a, b);

    return 0;
}

Output

Enter number a : 10
Enter number b : 200

Before swapping a = 10 b = 200
After swapping a = 200 b = 10