VB 循环次数

VB 循环次数,第1张

For循环分解:

第1次:n=1

a=fun(b,n)+b

fun内部运行情况:

形参x=y-1+n=1-1+1=1,实参b=1

形参y=x+y-n=1+1-1=1,实参n=1

fun=x+y=1+1=2

a=fun(b,n)+b=2+1=3

第2次:n=1+1=2

b=fun(n,a)+a

fun内部运行情况:

形参x=y-1+n=3-1+2=4,实参n=4

形参y=x+y-n=4+3-4=3,实参a=3

fun=x+y=4+3=7

b=fun(n,a)+a=7+3=10

第3次:n=4+1=5

a=fun(b,n)+b

fun内部运行情况:

形参x=y-1+n=5-1+5=9,实参b=9

形参y=x+y-n=9+5-5=9,实参n=9

fun=x+y=9+9=18

a=fun(b,n)+b=18+9=27

第4次:n=9+1=10>6,退出循环

此时 n=10, a=27, b=9

所以输出结果为 10  27  9

这道题的关键点在于函数fun的参数x和y是传址调用,函数内部对这两个形参的值的改变会直接改变外部实参n、a、b的值

碰到这种问题,我通常是这样来计算的。首先看最内层的循环,计算它会循环多少,把这个数写下来(如果是N,就记着N*)。就本题来看,最内层是j循环,它从5循环到1,共循环5次,所以,我会在草稿纸上写5* ,现在需要*多少还不知道,所以,我再往其上一层查看,看看还有循环吗?是循环多少次,如果有,按照此法写下去,如果没有,就写1,计算结果。就本题看,其上一层是i循环,从1循环到3,所以,我会写 5*3* ,再往其上一层看,没有了循环,所以,最后会写成这样的算式:5*3*1=15。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8097366.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存