问题
单项选择题
有如下的程序: Private Sub Command1_Click() Dim k As Integer,m AB 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 m=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,F,并赋给k初值为4,m的初值为1,然后调用事件过程Fun,并将它的值赋给p;在事件过程Fun中定义了两个形参,参数的传送是通过引用实参,即将k,m的地址作为a,b的地址;在Fun中,将m,i定义为静态变量,所以第一次调用后的值仍然保留,但是m,i分别都有赋值语句,将它们的值变为 5,2,所以返回值不变,都是6,6。