副程式傳參數採傳址方式(call by address or reference),以下程式執行完最後產出值為何? begin A,B:integer; procedure P(X,Y,Z:integer); begin Y=Y+1; Z=Z+X+2×Z begin A=3; B=3; P(A+B,A,A); print A; end; end
A3
B6
C17
D18正確答案
答案與詳解
正確追蹤:Y與Z都指向A的位址,X為A+B表達式(call by reference下視為常數6)。執行Y=Y+1 → A=4;執行Z=Z+X+2×Z → A=4+6+2×4=18,print A輸出18。
Examly 收錄 38 萬+ 道歷屆題目,每題都有像這樣的精選詳解。免費下載,立即開練。
