问题 填空题

程序执行结果s的值是 【7】
Private Sub sub1(Byval p As Integer)
p=p*2
End Sub
Private Sub Command1_Click()
Dim i As Integer
i=3
Call sub1(i)
if i>4 then i=i mod 2
Print cstr(i)
End Sub

答案

参考答案:C

解析:[评析] ByVal表示所声明的参数是按值传递的。因此参数值的变化只在被调用的函数或过程中有效,即只是形参的值有变化,而实参不受影响。ByRef表示所声明的参数是按地址传递的。因此形参值的变化都会反映在实参上。
本题程序中,参数p是按值传递的,因此调用sub1后,实参i的值仍为3。

选择题
单项选择题