为达到把a、b中的值交换后输出的目的,某人编程如下: Private Sub Commandl_Click() a%=10:b%=20 Call swap(a,b) Print a,b End Sub Private Sub swap

admin2019-06-11  29

问题 为达到把a、b中的值交换后输出的目的,某人编程如下:
Private Sub Commandl_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 Integer,ByRefb Integer)
D、swap中3条赋值语句的顺序是错误的,应改为a=b:b=c:c=a

答案C

解析 本题考查函数参数传递。VB有两种参数传递方式:传值ByVal和传地址ByRef,ByVal方式形参的修改不会影响到实参,ByRef方式修改形参相当于修改实参。题目要求在调用swap过程后,修改形参影响实参,参数应该使用ByRef方式。
转载请注明原文地址:https://jikaoti.com/ti/iLN0FFFM
0

最新回复(0)