(36)窗体上有一个名称为Commandl的命令按钮,其单击事件过程及相关的代码如下: Private Sub Command l_Click() Dim x As Integer,y As Integer

admin2013-10-16  23

问题 (36)窗体上有一个名称为Commandl的命令按钮,其单击事件过程及相关的代码如下:
    Private Sub Command l_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/JGQp777K
0

最新回复(0)