Call by Value and Call by Reference in C
Call by Value and Call by Reference in C
#include
void CallByReference (int *x, int *y)
{
int temp;
temp = *x;
*x = *y;
*y = temp;
return;
}
void CallByValue (int x, int y)
{
int temp;
temp = x;
x = y;
y = temp;
return;
}
int main ()
{
int a = 100;
int b = 200;
printf ("------Call by Value--------\n");
printf ("Before swap, value of a: %d\n", a);
printf ("Before swap, value of b: %d\n", b);
CallByValue (a, b);
printf ("After swap, value of a: %d\n", a);
printf ("After swap, value of b: %d\n", b);
printf("---------------------------\n");
printf ("------Call by Reference-----\n");
printf ("Before swap, value of a: %d\n", a);
printf ("Before swap, value of b: %d\n", b);
CallByReference (&a, &b);
printf ("After swap, value of a: %d\n", a);
printf ("After swap, value of b: %d\n", b);
printf("---------------------------\n");
return 0;
}
Output:
ReplyDelete------Call by Value--------
Before swap, value of a : 100
Before swap, value of b : 200
After swap, value of a : 100
After swap, value of b : 200
---------------------------
------Call by Reference-----
Before swap, value of a : 100
Before swap, value of b : 200
After swap, value of a : 200
After swap, value of b : 100