有下列函数过程:Function fun1(ByVal x As Integer,ByVal y As Integer)As IntegerDo While y0

7 查阅

有下列函数过程:

Function fun1(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=fun1(a,B)Print x

End Sub

A.0

B.25

C.50

D.100

参考答案:

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

计算机二级