这条程序的输出结果是什么(VB)

来源:百度知道 编辑:UC知道 时间:2024/06/04 09:17:22
以下程序运行后的输出结果为( )
private sub procl(x as integer,y as integer,z as integer)
x=3* x
y=2* z
z=x+y
private sub command1_click ()
dim x as integer, y as integer,z as integer
x=1: y=2 z=3
call proc1(x,x,z)
print x; x; z
call proc1(x,y,y)
print x: y:
end sub
输出结果是什么呀?给我解释一下

应该是传值吧,原值不作改变

我对vb不太熟悉 :(

输出
1,1,3
1,2

6 6 12
18 22

从程序上看:是按值传递
x=1:y=2:z=3
call proc1(x,x,z)第一次调用后
在子程序中
x=3* x
y=2* z
z=x+y
则:
X=3*1 值为3
Y=2*3 值为6 (同时X值也返回为6)
Z=6+6 值为12
返回后:
X=6
Z=12
Y不变

所以print x; x; z 为: 6 6 12

第二次:call proc1(x,y,y)
在子程序中
x=3* x
y=2* z
z=x+y
则:

X=3*6 值为18
Y=2*2 值为4
Z=18+4 值为22(同时Y值也变为22)
所以返回后print x: y 为 18 22