Swap Two Numbers in C
To swap two numbers in C programming, there are two ways. The foremost one is to use a third variable. And the second is to use Addition and Subtraction Operators without using a third variable.
In this tutorial, we will write C Programs, where we take two numbers in two integer variables, and swap them using the above said ways.
Method 1 – Use Third Variable
In the following program, we take two values in integer variables a and b, and swap the values in these variables using a temporary third variable temp.
main.c
</>
                        Copy
                        #include <stdio.h>
int main() {
    int a = 1, b = 3, temp;
    
    printf("Before swapping\n");
    printf("a : %d\n", a);
    printf("b : %d\n", b);
    
    temp = a;
    a = b;
    b = temp;
    
    printf("After swapping\n");
    printf("a : %d\n", a);
    printf("b : %d\n", b);
    
    return 0;
}
Output
Before swapping
a : 1
b : 3
After swapping
a : 3
b : 1
Program ended with exit code: 0Method 2 – Without a Temporary Variable
In the following program, we take two values in integer variables a and b, and swap the values in these variables without using a temporary third variable.
main.c
</>
                        Copy
                        #include <stdio.h>
int main() {
    int a = 1, b = 3, temp;
    
    printf("Before swapping\n");
    printf("a : %d\n", a);
    printf("b : %d\n", b);
    
    a = b + a;
    b = a - b;
    a = a - b;
    
    printf("After swapping\n");
    printf("a : %d\n", a);
    printf("b : %d\n", b);
    
    return 0;
}Output
Before swapping
a : 1
b : 3
After swapping
a : 3
b : 1
Program ended with exit code: 0Conclusion
In this C Tutorial, we learned how to swap two numbers in different ways, with examples.
