In C void func int val1 int val2 int temp val1 val1 val2

In C++

void func( int& val1, int val2 )

{

     int temp = val1;

     val1 = val2;

val2 = temp;

}

Given the function definition above, what will the following code print out?

int num1 = 17;

int num2 = 4;

func( num1, num2);

cout << num1 << “ ,” << num2 << endl;

Answer

a) 17, 17

b) 17,4

c) 4,4

d) 4,17   

Solution

Answer: c) 4,4

Explanation:

int num1 = 17;

int num2 = 4;

num1 value is 17 and num2 value is 4

func( num1, num2);

When we cann function , we are passing num1 value as reference and num2 value as value.

so if we change anything in num1 in fucntion level, that will automatically change the value in main variable.

so if we change anything in num2 in fucntion level, that will not change the actual value in main variable.

void func( int& val1, int val2 )

{

     int temp = val1;

     val1 = val2;

val2 = temp;

}

In this function val1 assigned with val2. val1 value is 4 here and val2 value is assigned with value1. so val2 is 17 here in this function. since val1 is a reference variable that change will impact in actual value in that variable in main function where as nt impacted in num2 vairable since it is pass by value.

so after calling func(), num1 value 4 and num2 value 4

In C++ void func( int& val1, int val2 ) { int temp = val1; val1 = val2; val2 = temp; } Given the function definition above, what will the following code pri
In C++ void func( int& val1, int val2 ) { int temp = val1; val1 = val2; val2 = temp; } Given the function definition above, what will the following code pri

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site