在窗体上画一个命令按钮(名称为Command1),并编写下列代码: Function Fun1(ByVa1 a As Integer,b As Integer)As Integer Dim t As Integer t=a-b b=t+a Fun1=t+b End Function Private Sub Command1Click() Dim X As Integer x=10 Print Fun1(Vun1(X,(Fun1(x,x-1))),x-1) End Sub 程序运行后,单击命令按钮,输出结果是()。
A.10
B.0
C.11
D.21
参考答案:B
解析:【解析】在Visual Basic中,参数通过两种方式传送,即传地址和传值。其中,传地址习惯上称为引用,当通过引用来传送实参时,可以改变传送给过程的变量值;传值就是把需要传送的变量复制到一个临时的单元中,然后把该临时单元的地址传送给被调用的通用过程,它不会改变原来变量的值,所有的变化都是在变量的副本上进行的。 本题自定义函数Fun1的第1个参数按值传递,第2个参数虽然按址传递,但调用该函数时第2个参数均为表达式,因此变量x的值不受调用函数的影响。第1次调用Funl函数时,Fun1(10,9)=12;第2次调用Fun1函数时,Fun1(10,12):1 6;第3次调用Fun1函数时,Fun1(6,9)=0。