[填空题] 窗体上有名称为Command1的命令按钮。事件过程及两个函数过程如下:
Private Sub Command1_Click()
Dim x As Integer, y As Integer, z
x=3:y=5:z=fy(y)
Print fx(fx(x)),y
End Sub
Function fx(ByVal a As Integer)
a=a+a:fx=a
End Function
Function fy(ByRef a As Integer)
a=a+a:fy=a
End Function
运行程序,并单击命令按钮,则窗体上显示的两个值依次是 (12) 和 (13) 。
正确答案:(12)12 (13)10
参考解析:本程序中有一个事件过程Command1_Click以及两个自定义函数fx和fy,Command1_Click事件过程将调用这两个函数,并产生两个输出项。 第一个输出项是fx(fx(x))的值。首先计算fx(x),x的值为3,x传递给形参a,a=3,经计算函数返回值为6,即fx(x)为6。再将fx(x)的值作为参数调用fx()函数,即计算fx(fx(x)),相当于fx(6),可算出函数返回值为12,即fx(fx(x))为12。 第二个输出项是y的值。由于在输出前执行语句z=fy(y),注意函数fy()的参数是按址传递,所以形参a和实参y共用同一个地址空间,当a值发生变化时,y也同时变化。计算a=a+a时,a的值变为10,同时y的值也变成10,所以最后在输出y的值时,显示为10。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)