Consider the following program written in C syntax:
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]);
}
void swap(int a, int b){
int temp;
temp = a;
a = b;
b = temp;
}
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. Passes by reference
c. Passes by value-result
Assume the calls are not accumulative; that is, they are always called with the initialized values of the variables, so their effects are not accumulative.