谁帮我分析一下这题VB代码

来源:百度知道 编辑:UC知道 时间:2024/07/08 15:41:21
好像有两题 不知道是否连在一起的

请分析详细点 每个函数关键字作用 我是新手...

Option Explicit
Dim x% y%
private sub p (x% byval y%)
y = x + y
x = y mod 4
end sub

private sub form_click()
x = 4
y = 5
call p (y, x)
call p (y, x)
call p (y, x)
print "x=";x, "y="; y
end sub

Option Explicit '强制显式声明模块中的所有变量。
Dim x% y% '定义变量, % 表示整型数据,也就是integer
private sub p (x% byval y%) '过程,括弧内是传递的变量,其中:x是按地址传递,y是按值传递,按地址传递,如果在过程里面改变了这个值,同时也改变了传递过来的值,注意:这里的x,y与前面定义的x,y不是同一个变量
y = x + y '这总知道吧
x = y mod 4
end sub

private sub form_click()
x = 4
y = 5
call p (y, x) '调用过程,这里传递的y=5,x=4,执行后,x的值不变,y的值变为1,就是p过程里面的x,x=(4+5) mod 4=1
call p (y, x) '执行后,y=1 (4+1) mod 4=1
call p (y, x) '执行后,y=1
print "x=";x, "y="; y
end sub

结果是:
x=4 y=1