问题
单项选择题
有如下的程序。 Private Sub Commandl_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 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
答案
参考答案:D
解析:[命题目的] 考查考生对函数调用的掌握情况。[解题要点] 在Sub过程中,程序段先定义了3个 Integer型变量k,m,P,并给A赋给初值4,m的初值为1,然后调用事件过程Fun,并将它的值赋给9;在事件过程 Fun中定义了两个形参,参数的传送是通过引用实参,即将k,m的地址作为a,b的地址;在Fun中,将m,i定义为静态变量,所以第一次调用后的值仍然保留,但是 m,i分别都有赋值语句,将它们的值变为5,2,所以返回值不变都是6 6。[错解分析] 调用函数只能返回一个结果值。[考点链接] 函数调用、参数传递