z66a.com是真的:又一道关于VB的题目,麻烦解答一下

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/02 02:11:34
private sub book(x as integer)
x=x*2+1
if x<6 then
call book(x)
end if
x=x*2+1
print x
end sub
pricate sub command2_click
book 2
end sub
结果是什么?答案是23 47,麻烦讲解下是怎么得出的.还有那个BOOK 2是什么意思

x应该被定义为全局变量吧,在VB里如果不定义的话,默认为就是全局的,就会造成上面的结果。

否则结果就会是 23 11

为了避免这种含糊,还是要养成定义变量的好习惯

你学过VB没有?这么简单的都问
BOOK 2 是调用过程啊
((2*2+1)*2+1)*2+1=23
23*2+1=47
函数定义的时候参数传递有两种
地址:byref,默认,在函数内改变参数的时候外面也会变
值:byval