问题 单项选择题

单击命令按钮时,下列程序的执行结果是( )。  Private Sub Command1_Click()   Dim a As Integer,b As Integer,c As Integer   a=3   b=4   c=5   Print SecProc(c,b,a)  End Sub  Function FirProC(x As Integer,y As Integer,z As Integer)  FirProc=2*s+y+3*z  End Function  Function SecProc(x As Integer,y As Integer,z As Integer)   SecProc=FirProc(z,x,y)+x  End Function

A.20

B.22

C.28

D.30

答案

参考答案:C

解析:此题程序代码中用了两层调用,我们对这样的问题要多加小心,不能掉以轻心,千万不要把实参和相对应的形参弄混淆。主调过程Command1_Click输出的是SecProc(c,b,a)的返回值,调用过程SeeProe时,主调过程分别把实参c、b、s地址传给形参x、y、z,此时在过程SecProc中,SecProc=FirProc(a,b,c))+c。由此看出,程序段执行此语句时,将调用过程FirProe。把实参a、c、b的地址分别传给形参x、y、z,此时在过程FirProc中,FirProe=2 * x + y + 3 * z,所以FirProc(a,c,b)=6+4+15=25, SecProc(a,c,b)=25+3=28,所以选项C)是正确的。

阅读理解
单项选择题