问题
填空题
以下是某个窗体的模块代码,请分析单击窗体后程序运行至"*"号位置时变量X、Y和Z的值分别是 【15】 。DIM X AS INTEGERDIM Y AS INTEGERPRIVATE SUB FORM_CLICK() DIM X AS INTEGER X=1 Y=1 CALL AA(Y+1) Z=BB(X) ’* * * * * * * MSGBOX "X="&X&"/Y="&Y&"/Z="&ZEND SUBPRIVATE SUB AA(BYVAL Z AS INTEGER) Y=Z+X Z=X+YEND SUBPRIVATE FUNCTION BB(BYREF Y AS INTEGER Y=Y+1 BB=X+YEND 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。