有如下函数过程: Function funl(ByVal x As Integer,ByVal y As Integer)As Integer Do While y<>0 reminder=x Mod y x=y

admin2010-03-30  29

问题 有如下函数过程:  Function funl(ByVal x As Integer,ByVal y As Integer)As Integer    Do While y<>0       reminder=x Mod y       x=y       y=reminder    Loop    fun1=x  End Function  在下列按钮单击事件中调用该函数,则该程序的运行结果是(    )。  Private Sub Command1_Click()  Dim a As Integer  Dim b As Integer    a=100    b=25    x=funl(a,B)Print x  End Sub

选项 A、0
B、25
C、50
D、100

答案2

解析 可以通过两种方式来传递参数,即按值传递参数和按地址传递参数。按值传递参数时,传递的只是变量的副本。如果过程改变了这个值,则所作变动只影响副本而不会影响变量本身。用ByVal关键字指出参数是按值来传递的。按地址传递参数使过程用变量的内存地址去访问实际变量的内容,在将变量传递给过程时,通过过程可永远改变变量值。默认时是按地址传递参数。 题中funl函数的参数都是按值传送的,函数使用“过程名二表达式”的形式获得函数的返回值,如题中“funl=x”语句。调用函数“x=funl(a,B)”后,x=25。
转载请注明原文地址:https://kaotiyun.com/show/6nmp777K
0

最新回复(0)