Consider the following program written in C syntax void swap
Consider the following program written in C syntax.
void swap(int a, int b)
{
int temp;
temp = a;
a = b;
b = temp;
}
void main()
{
int value = 2, list[5] = {1, 3, 5, 7, 9};
swap(value,list[0]);
swap(list[0], list[1]);
swap(value, list[value]);
For each of the following parameter-passing methods, what are all of the values of the variables value and list after each of the three calls to swap?
a. passed by value
b. passed by reference
c. passed by value-result
}
Solution
Here, all the function calls are just (a)passed by value, and no modifications done in the swap() function will replicate in main().
So, after each of the function calls, no modification will be done to the actual array. And the variables will remain as it is. Also, the variable value is left unmodified.
![Consider the following program written in C syntax. void swap(int a, int b) { int temp; temp = a; a = b; b = temp; } void main() { int value = 2, list[5] = {1, Consider the following program written in C syntax. void swap(int a, int b) { int temp; temp = a; a = b; b = temp; } void main() { int value = 2, list[5] = {1,](/WebImages/6/consider-the-following-program-written-in-c-syntax-void-swap-986649-1761506945-0.webp)