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

admin2020-04-18  18

问题 窗体上有一个名称为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/HrTp777K
0

最新回复(0)