问题 填空题

以下是某个窗体的模块代码,请分析单击窗体后程序运行至"*"号位置时变量X、Y和Z的值分别是 【15】
DIM X AS INTEGER
DIM Y AS INTEGER
PRIVATE SUB FORM_CLICK()
DIM X AS INTEGER
X=1
Y=1
CALL AA(Y+1)
Z=BB(X)
’* * * * * * *
MSGBOX "X="&X&"/Y="&Y&"/Z="&Z
END SUB
PRIVATE SUB AA(BYVAL Z AS INTEGER)
Y=Z+X
Z=X+Y
END SUB
PRIVATE FUNCTION BB(BYREF Y AS INTEGER
Y=Y+1
BB=X+Y
END FUNCTION

答案

参考答案:2,2,2

解析: 调用AA过程后,全局变量Y的值为2。这时形参为局部变量Y,而实参为局部变量 X,传递采用“传址”调用,即形参Y与实参X占用同一内存地址,并且形参Y会获得实参X的传递值1。当执行BB过程中的Y=Y+1语句时,形参Y与实参x的值均为1+1=2,此时,函数的返回值为BB=X+Y,是全局变量X与形参Y相加,值为0+2=2。综合判断,得出答案为2, 2,2。

选择题
单项选择题