///call by value : call by reference///
#include<bits/stdc++.h>
using namespace std;
void swp(int *x,int *y);
int area(int l,int b);
/*void fun1(int a) //Function Definition//Formal Argument
{
}
void fun2(int *p) //Function Definition//Formal Argument
{
}*/
int main()
{
//int x=5;
//fun1(x); //Function Call//Actual Argument//Call by Value
//fun2(&x);//Function Call//Actual Argument//Call by Reference(address)
int l=5,h=10;
cout<<"using call by value the area =";
cout<<area(l,h)<<endl; ///CALL BY VALUE
int a=2,b=3;
cout<<"using call by reference after swap=";
swp(&a,&b); ///Call by Reference
cout<<a<<" "<<b<<endl;
}
int area(int l,int b)
{
return(l*b);
}
void swp(int *x,int *y)
{
int t,ans;
t=*x;
*x=*y;
*y=t;
}
Ly8vY2FsbCBieSB2YWx1ZSA6IGNhbGwgYnkgcmVmZXJlbmNlLy8vCiNpbmNsdWRlPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnZvaWQgc3dwKGludCAqeCxpbnQgKnkpOwppbnQgYXJlYShpbnQgbCxpbnQgYik7Ci8qdm9pZCBmdW4xKGludCBhKSAvL0Z1bmN0aW9uIERlZmluaXRpb24vL0Zvcm1hbCBBcmd1bWVudAp7Cgp9CnZvaWQgZnVuMihpbnQgKnApIC8vRnVuY3Rpb24gRGVmaW5pdGlvbi8vRm9ybWFsIEFyZ3VtZW50CnsKCn0qLwppbnQgbWFpbigpCnsKICAgIC8vaW50IHg9NTsKICAgIC8vZnVuMSh4KTsgLy9GdW5jdGlvbiBDYWxsLy9BY3R1YWwgQXJndW1lbnQvL0NhbGwgYnkgVmFsdWUKICAgIC8vZnVuMigmeCk7Ly9GdW5jdGlvbiBDYWxsLy9BY3R1YWwgQXJndW1lbnQvL0NhbGwgYnkgUmVmZXJlbmNlKGFkZHJlc3MpCiAgICBpbnQgbD01LGg9MTA7CiAgICBjb3V0PDwidXNpbmcgY2FsbCBieSB2YWx1ZSB0aGUgYXJlYSAgICAgID0iOwogICAgY291dDw8YXJlYShsLGgpPDxlbmRsOyAvLy9DQUxMIEJZIFZBTFVFCiAgICBpbnQgYT0yLGI9MzsKICAgIGNvdXQ8PCJ1c2luZyBjYWxsIGJ5IHJlZmVyZW5jZSBhZnRlciBzd2FwPSI7CiAgICBzd3AoJmEsJmIpOyAgICAgICAgICAgIC8vL0NhbGwgYnkgUmVmZXJlbmNlCiAgICBjb3V0PDxhPDwiICI8PGI8PGVuZGw7Cn0KaW50IGFyZWEoaW50IGwsaW50IGIpCnsKICAgIHJldHVybihsKmIpOwp9CnZvaWQgc3dwKGludCAqeCxpbnQgKnkpCnsKICAgIGludCB0LGFuczsKICAgICB0PSp4OwogICAgKng9Knk7CiAgICAqeT10Owp9Cg==