A-A+

有如下程序: Private Sub command1_Click() a=1:b=1 Pr

2022-08-12 20:11:35 问答库 阅读 197 次

问题详情

有如下程序: Private Sub command1_Click() a=1:b=1 Print"a=";a;",b=";b Call mult((a),b) Print "a=";a;",b=";b 语句 End Sub Sub mult(x,y) K=2 * k y=3 * k Print "x=";x;",y=";y End Sub 运行后,标有“语句”的Print语句的输出结果是【 】。


请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:a=1b=3
在VisualBasic语言中,虚实结合有值传递方式和地址传递方式。实参为常量或表达式。是值传递方式,这种传递是单向的。实参为变量,是地址传递方式。这种传递是双向的,在调用子程序时,形参的值如果改变了,会通过实参带回主程序。本题中,第1个实参变量a用括弧括起来,采用的是值传递方式,第2个实参数变量b没用括弧括起来,采用的是地址传递方式。在调用子程序后,第1个实参a的值为1,不管在子程序中是否被重新赋值。返回调用程序,保留调用前的值仍为1:第2个实参数b的值为1,在子程序中被重新赋值为3,返回调用程序就不再保留调用前的值,而是带回了形参的值3。因此,在标有“语句”的Print语句中的输出项为a=1,b=3。

考点:程序