Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Assume we have the following program for some language with C-like syntax. int x

ID: 3827026 • Letter: A

Question

Assume we have the following program for some language with C-like syntax. int x, y, z; void foo(a, b, c) {a = a*2; b = b*2; x++; c = c + b;} x = 1; y = 2; z = 3; foo(x, y, z); What are the values of x, y, and z after the call to foo for each of the following cases? a) The formal parameters a, b, and c are all call-by-value? b) The formal parameters a, b, and c are all call-by-reference? c) The formal parameters a, b. and c are all call-by-value/result (i.e. in/out mode in Ada)? d) The formal parameters a, b. and c are all call-by-name?

Explanation / Answer

Answer: a) The formal parameters a,b, and c are call-by-value

We are passing x , y and z values are call by values to the function foo so the chnages happend in tht function will not effect to the actual parameters values.

x = 2 and y = 2 and z = 3