窗体上有一个名称为Commandl的命令按钮,其单击事件过程及相关的代码如下: Private Sub Commandl_Click() Dim x As Integer,y As Integer x=Val(InputBox("输入整数"))

admin2017-06-21  33

问题 窗体上有一个名称为Commandl的命令按钮,其单击事件过程及相关的代码如下:
Private Sub Commandl_Click()
  Dim x As Integer,y As Integer
  x=Val(InputBox("输入整数"))
  y=Val(InputBox("输入整数"))
   Print Str(fun(x,y)+x+y)
End Sub
Private Function fun(ByRef m As Integer,ByVal n As Integer)
m=m*m:n=n+n:fun=m+n
End Function
运行程序,单击命令按钮时,出现输入对话框,分别输入3、5,则窗体上显示的是

选项 A、27
B、28
C、33
D、38

答案C

解析 在Visual Basic中调用过程时,参数有两种传递形式:按值传递(Byval)和按址传递(Byref),默认为按址传递。其中,当参数按址传递时,如果在引用该参数的过程中改变了形参的值,同时也就改变了传递参数时实参变量的值。本题中fun的参数m是按地址传递的,n是按值传递的,因此在f中对m的改变会影响实参x,对n的操作不会影响实参y,即输出的是Str(19+9+5)="33"。
转载请注明原文地址:https://kaotiyun.com/show/hTGp777K
0

最新回复(0)