问题 单项选择题

有如下的程序:
Private Sub Command1_Click()
Dim k As Integer,m As Integer
Dim P As Integer
  k=4:m=1
  P=Fun(k,m):Print P;
  P=Fun(k,m):Print P
End Sub
Private Function Fun(a As Integer,b As Integer)
Static m As Integer,i As Integer
in=5:i=2
i=i+m+1
m=i+a+b
Fun=m\2
End Function
单击命令按钮后,输出结果为

A) 2 2
B) 4 4
C) 5 5 D) 6 6

答案

参考答案:D

解析: 在Sub过程中,程序段先定义了3个Integer型变量k,m,p,并赋给k初值为4,m的初值为1,然后调用事件过程Fun,并将它的值赋给p;在事件过程Fun中定义了两个形参,参数的传送是通过引用实参,即将k,m的地址作为a,b的地址;在Fun中,将m,i定义为静态变量,所以第一次调用后的值仍然保留,但是m,i分别都有赋值语句,将它们的值变为5,2,所以返回值不变,都是6,6。

填空题
多项选择题