问题 单项选择题

若要在子过程Procl调用后返回两个变量的结果,下列过程定义语句中有效的是______。

A.Sub Procl(n, m)

B.Sub Procl(ByVal n, m)

C.Sub Procl(n, ByVal m)

D.Sub Procl(ByVal n, ByVal m)

答案

参考答案:A

解析:本题考查过程调用和参数传递。过程定义时,如果形式参数被说明为传值(ByVal项),则过程调用只是相应位置实参的值“单向”传递给形参处理,而被调用过程内部对形参的任何操作引起的形参值的变化均不会反馈、影响实参的值。由于这个过程中,数值的传递只有单向性,故称为“传值调用”的“单向”作用形式。反之,如果形式参数被说明为地址(ByRef),则过程调用是将相应位置实参的地址传给形参处理,而被调用过程内部对形参的任何操作引起形参值的变化又会反而影响实参的值。在这个过程中,数值的传递具有双向性,故称为“传址调用”的“双向”作用形式。ByRef是VBA的缺省选项。本题中要求在子过程Procl调用后返回两个变量的结果,因此采用的是“传址调用”,故为Sub Procl(n, m)。

单项选择题
判断题