单选题 有如下程序:

  Private Sub Command1_Click()

    Dim k As Integer,m As Integer

    Dim p As Integer

    k=4:m=1

    p=PC(k,m):Print p;

    p=PC(k,m):Print p

  End Sub

  Private Function PC(a As Integer,b As Integer)

    Static m As Integer,i As Integer

    m=0:i=2

    i=i + m + 1

    m=i + a + b

    PC=m

  End Function

  程序运行后,输出的结果为
  • A. 4 6
  • B. 6 6
  • C.8 8
  • D.10 12
【正确答案】 C
【答案解析】解析:在Sub过程中,程序段先定义了3个Integer型变量k,m,P,并给k 赋给初值4,m的初值为1,然后调用事件过程PC,并将它的值赋给p;在事件过程PC中 定义了两个形参,参数的传送是通过引用实参,即将k,m的地址作为a,b的地址;在PC 中,将m,I定义为静态变量,所以第一次调用后的值仍然保留,但是m,I分别都有赋值语 句,将它们的值变为0,2,所以返回值不变。