问题 单项选择题

为达到把a、b中的值交换后输出的目的,某人编程如下:
Private Sub Command1_Click()
a%=10:b%=20
Call swap(a,b)
Print a,b
End Sub
Private Sub swap(ByVal a As Integer,ByVal b As Integer)
c=a:a=b:b=C
End Sub
在运行时发现输出结果错了,需要修改。下面列出的错误原因和修改方案中正确的是( )

A.调用swap过程的语句错误,应改为Call swap a,b
B.输出语句错误,应改为Print"a","b"
C.过程的形式参数有错,应改为swap(ByRef a As Integer,ByRef b As Integer)
D.swap中3条赋值语句的顺序是错误的,应改为a=b:b=c:c=a

答案

参考答案:C

解析: Visual Basic中参数可通过传地址和传值进行传送,传地址又称引用,通过引用传递实参时,可以改变传送给过程的变量的值,而传值就是通过值传送实际参数,不会改变原来变量的值,所有的变化都是在变量的副本上进行的。

判断题
选择题