C Program to swap two numbers without using a third variable with a call by reference


In this program, You will learn how to swap two numbers without using a third variable with a call by reference in C.


Call by Reference

void swap(int *x, int *y){ }


Example: How to swap two numbers without using a third variable with a call by reference in C

Run it Now
#include<stdio.h>

void swap(int *x, int *y) {
    *(x) = *(x) + *(y);
    *(y) = *(x) - *(y);
    *(x) = *(x) - *(y);
}

int main() {

    int a, b, s;

    printf("Enter two numbers : ");
    scanf("%d%d", &a, &b);

    swap(&a, &b);

    printf("\nAfter swap a is : %d", a);
    printf("\nAfter swap b is : %d", b);

    return 0;
}

Output:

Enter two numbers : 13 14
After swap a is : 14
After swap b is : 13