Q:

Swapping of Two Numbers in C++ Using Functions | Call by Reference & Call by Value

0

Write a Program to Swap of Two Numbers in C++

1. Call by Value

 
In Call by Value Actual parameter are passed while calling the function, The operations effect on the formal parameters doesn't reflect on the Actual Parameters.
 
Example: Int A = 5 is an actual parameter and Int X = 5(Here we have Copied the Int A = 5 value to the X = 5), so whatever we do with the X, it does not reflect the Actual Value Int A = 5. It will always remain the same.  If we increase the value of the X by 1 then the value of the X will be 6 and the value of the A remains the same 5 as previous.
 

2. Call by Reference

 
In Call by Reference we passed the address of the actual parameter in a formal parameter, So the changes on the Formal Parameters reflect on the Actual parameters. If we take the above example for this then if we increase the value of the X will reflect on the A thus the value of the X and A will be same(X = A = 6)
 
Before going to understand the Call by value and Call by Reference let's first understood the Actual and Formal Parameters terminology to fully understand the code.
 
Actual parameters: 
The Actual parameters that appear in function calls.
Formal parameters: The Formal parameters that appear in function declarations.
 

All Answers

need an explanation for this answer? contact us directly to get an explanation for this answer

Program Output of  Swapping of Two Numbers Using Call by Value

#include<iostream>
using namespace std;

void swap(int ,int );
/*Swapping of Two Numbers in C++ Using Functions Call by Value*/
int main()
{
    int a,b;
    cout<<"Enter the Two Numbers to Swap in C++: ";
    cin>>a>>b;
    cout<<"\nAfter Swapping of Two Numbers:";
    swap(a,b);
    
    return 0;
}
void swap(int x,int y)
{
 int z;
/*Extra veriable for storing the value of first or second variable*/ 
 
 z=x;
/*Copying the first variable value to the tempriory variable*/
 x=y;
/*Copying the second variable value to the first variable*/
 y=z;
/*Copying the tempriory variable value to the second variable*/ 
 cout<<" "<<x<<"   "<<y;
 
}

 

Output:

Enter the Two Numbers to Swap in C++: 512  256

After Swapping of Two Numbers: 256   512

need an explanation for this answer? contact us directly to get an explanation for this answer
need an explanation for this answer? contact us directly to get an explanation for this answer

Swapping of Two Numbers in C++ Using Call by Reference | Functions

#include<iostream>
using namespace std;

void swap(int *x ,int *y );
/*Swapping of Two Numbers in C++ Using Functions Call by Reference*/
int main()
{
    int a,b;
    cout<<"Enter Two Numbers To Swap: ";
    cin>>a>>b;
    
    swap(&a,&b);
    
    cout<<"\nAfter Swapping Two Numbers: ";
    cout<<a<<" "<<b<<" \n";
    
    return 0;
}
void swap(int *x,int *y)
{
 int z;
 z=*x;
/*Copying the first variable Address to the tempriory variable*/
 *x=*y;
/*Copying the second variable Address to the first variable*/
 *y=z;
/*Copying the tempriory variable Address to the second variable*/ 
}

 

Output:

Enter Two Numbers To Swap: 256 512

After Swapping Two Numbers: 512 256 

need an explanation for this answer? contact us directly to get an explanation for this answer

total answers (2)

C++ Program To Swap Two Numbers Without Using Thir... >>
<< C++ Program To Find GCD Using Functions...