问题:
[单选] 若要在子过程P1调用后返回两个变量的结果,下列过程定义语句中有效的是( )。A . Sub P1 (12,rrl)
B . Sub P1 (ByVa1 n,m)
C . Sub P1 (n,ByVa1 m)
D . Sub P1 (ByVal n,ByVal m)
参考答案:A
参考解析:
在VEA的过程调用时,参数有两种传递方式:传址传递和传值传递。如果在过程声明时形用ByVal声明,说明此参数为传值调用,此时参数的变化不会返回到实参;若用ByRef声明,谚明此参数为传址调用,此时形参的变化将会返回到实参;没有说明传递类型,则默认为传址传递。由于本题要求可以返回两个变量的结果,所以应该使用传址调用,不能出现专值调用。也就是不能出现使用 ByVal声明的形参。