#include <stdio.h>
#include <stdlib.h>

// CALL BY REFERENCE, standart C'de kullanılmayan bir yontemdir. Bunun yerine CALL BY POINTER kullanilir.

void swap1(int a,int b) // CALL BY VALUE
{
    int temp;
    temp=a;
    a=b;
    b=temp;
}

void swap2(int *a,int *b) // CALL BY POINTER
{
    int temp;
    temp=*a;
    *a=*b;
    *b=temp;
}

void swap3(int &a,int &b) // CALL BY REFERENCE
{
    int temp;
    temp=a;
    a=b;
    b=temp;
}

int main()
{
    int x,y;

    x=5;
    y=8;
    swap1(x,y);  //  5  8
                 //  5  8
    swap2(&x,&y);//  5  8
                 //  8  5
    swap3(x,y);  // In C++, 5  8
                 //         8  5

    return 0;
}
