设有如下过程:Public Function f(x As Intege

来源:网络

设有如下通用过程:PublicFunctionf(xAsIntege

问题:

[单选]设有如下通用过程:
PublicFunctionf(xAsInteger)
DimyAsInteger
x=20
y=2
f=x*y
EndFunction
在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:
PrivateSubCommand1_Click()
StaticxAsInteger
x=10
y=5
y=f(x)
Printx;y
EndSub
程序运行后,如果单击命令按钮,则在窗体上显示的内容是()。

A.105
B.205
C.2040
D.1040

参考答案:C

参考解析:

本题考查Static变量的定义与使用,以及自定义函数过程的参数传递。在VisualBasic中,参数缺省是按地址传递的,也就是使过程按照变量的内存地址去访问实际变量的内容。这样,将变量传递给函数时,通过函数可永远改变该变量的值。如果想改变传递方式可以通过在变量定义前加关键字ByRef或ByVal。ByRef为默认值,按地址传递,ByVal按值传递,函数调用后不改变变量值。Static变量在函数调用后保持其值不变。因此本题在调用f函数后,结果为2040,选项C正确。

你会喜欢下面的文章?