VB大神 求教问题

就你刚刚回答的VB问题,跟滚动条有关的能详细说下解答过程么... 就你刚刚回答的VB问题,跟滚动条有关的能详细说下解答过程么 展开
 我来答
岔路程序缘

推荐于2016-08-24 · TA获得超过8.9万个赞
知道大有可为答主
回答量:9918
采纳率:93%
帮助的人:3357万
展开全部
举第一个选项的例子吧?后面的都可以举一反三。
首先说明三点;

(1)启动程序后,Hscroll的值value=1
(2)当在滚动条右端点箭头时,每点一次Hscroll的值value加1
(3)启动程序后,y的初值是2
再来看程序,当点击滚动条右端点箭头时,触发Private SubHScroll1_Change()程序,只有三句:

'Dim y As Single '②
y = y + f1(HScroll1.Value)
Print y
而第一句被加上'号不被执行,也就剩下两句
第一句是y = y + f1(HScroll1.Value)=2+f1(HScroll1.Value),调用函数f1(),这时要知道HScroll1.Value的值=1+1=2,所以调用 的是f1(2)
看函数过程:也是只有三句
Private Function f1(x2 AsInteger) As Single

Static x1 AsInteger '①,这一句声明了一个动态变量x1,这个变量在退出本段程序后变量的值会一直保存,可以再次使用,第一次声明时x1的初值为0
f1 = x1 + x2=0+(这时x2就是调用函数时带来的变量HScroll1.Value=2)=2这也就是f(2)的函数值
x1 = x2=2再把x2的值赋给x1(动态变量),以便记录下来。
这时返回主程序继续计算y = y + f1(HScroll1.Value)=2+f1(HScroll1.Value)=2+f1(2)=2+2=4
然后打印的是4

再点击一次,这时已经HScroll1.Value=3了, y = y + f1(HScroll1.Value)=y+f1(3)
而在函数中f1(3)=x1+x2=2+3=5
返回主程序继续计算y = y + f1(HScroll1.Value)=4+f1(HScroll1.Value)=4+f1(3)=4+5=9
然后打印的是9

所以显示的是4 9,也就是D。
来自:求助得到的回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式