在窗体上画1个名称为Commandl的命令按钮和2个名称分别为Text1、Text2的文本框,如图所示,然后编写如下程序: Function Fun(x As Integer,ByVal y As Integer)As Integer

admin2012-09-07  32

问题 在窗体上画1个名称为Commandl的命令按钮和2个名称分别为Text1、Text2的文本框,如图所示,然后编写如下程序:
   
    Function Fun(x As Integer,ByVal y As Integer)As Integer
       x=x+y
       Ifx<0 Then
          Fun=x
       Else
          Fun=y
       End If
    End Function
    Private Sub Commandl_Click()
       Dim a As Integer,b As Integer
       a=-10:b=5
       Text1.Text=Fun(a,b)
       Text2.Text=Fun(a,b)
    End Sub
    程序运行后,单击命令按钮,Text1和Text2文本框显示的内容分别是______________和______________。

选项

答案-5 5

解析 本题考查参数传递。在VB的过程调用中,参数有两种传递方式:传址传递和传值传递。如果在过程声明时形参用ByVal声明,说明此参数为传值调用;若用ByRef声明,说明此参数为传址调用;没有说明传递类型,则默认为传址传递(即形参的结果会传递给实参)。函数fun中第一个参数默认为地址传递,而第二个为传值。因此第一次调用结束以后,函数中a的值变为-5,而b的值不变,Text1中显示-5,第二次调用前a的值为-5,b为5,调用以后,Text2中显示5。
转载请注明原文地址:https://jikaoti.com/ti/4BO0FFFM
0

最新回复(0)