问题
单项选择题
有下列两个过程:
Sub S1(By Val x As Integer, By Val y As Integer)
Dim t As Integer
t=X
x=y
y=t
End Sub
Sub S2(x As Integer, y As Integer)
Dim t As Integer
t=x
x=y
y=t
End Sub
则下列叙述中正确的是( )。
A.用过程S1可以实现交换两个变量的值的操作,S2不能实现
B.用过程S2可以实现交换两个变量的值的操作,S1不能实现
C.用过程S1和S2都可以实现交换两个变量的值的操作
D.用过程S1和S2都不能实现交换两个变量的值的操作
答案
参考答案:B
解析: 在S2过程中,参数的传递是以“按地址”形式传递的,这种形式在参数传递后,形参的改变可以影响实参的改变;而S1过程中,参数的传递是以“传值”形式传递的,这种形式在参数传递后,形参的变化不会影响实参的变化。