ADVERTISEMENT
ADVERTISEMENT

Rust program to demonstrate the call by reference parameter passing

Rust | Function Example: Write an example to demonstrate the call by reference parameter passing.
Submitted by Nidhi, on October 06, 2021

Problem Solution:

In this program, we will create a user-defined function Swap() to swap numbers using call-by-reference parameter passing.

Program/Source Code:

The source code to demonstrate the call by reference parameter passing is given below. The given program is compiled and executed successfully.

// Rust program to demonstrate the 
// call by reference parameter passing

fn Swap(num1:&mut i32, num2:&mut i32) {
    let mut temp:i32 = 0;
    
    temp = *num1;
    *num1 = *num2;
    *num2 = temp;
}

fn main() {
    let mut num1:i32 = 10;
    let mut num2:i32 = 20;
    
    println!("Numbers before swapping: \nnum1:{0}\nnum2:{1}", num1, num2);
    Swap(&mut num1, &mut num2);
    println!("Numbers after swapping: \nnum1:{0}\nnum2:{1}", num1, num2);
}

Output:

Numbers before swapping: 
num1:10
num2:20
Numbers after swapping: 
num1:20
num2:10

Explanation:

In the above program, we created two functions Swap() and main(). The Swap() function is a user-defined function that accepts two parameters using call by reference mechanism and exchanges the value of variables and returned the updated value to the calling function.

In the main() function, we created two integer variables num1, num2 which were initialized with 10, 20 respectively. Then we called the Swap() function with arguments num1 and num2 and printed the result.

Rust Functions Programs »



ADVERTISEMENT



ADVERTISEMENT



Comments and Discussions


ADVERTISEMENT

ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT

Languages: » C » C++ » C++ STL » Java » Data Structure » C#.Net » Android » Kotlin » SQL
Web Technologies: » PHP » Python » JavaScript » CSS » Ajax » Node.js » Web programming/HTML
Solved programs: » C » C++ » DS » Java » C#
Aptitude que. & ans.: » C » C++ » Java » DBMS
Interview que. & ans.: » C » Embedded C » Java » SEO » HR
CS Subjects: » CS Basics » O.S. » Networks » DBMS » Embedded Systems » Cloud Computing
» Machine learning » CS Organizations » Linux » DOS
More: » Articles » Puzzles » News/Updates

© https://www.includehelp.com some rights reserved.