一道vb题目,求详细解答,非常感谢!
1个回答
展开全部
执行第一个FOR后x(0)=1,x(1)=2,x(2)=3,x(3)=4,x(4)=5
执行第二个FOR,FOR中I=1时,Prioc执行一次
在Prioc中I=0,因此执行Do循环
x(0)=x(0)+x(1)=1+2=3,I=I+1=1
此时I<2成立,继续循环
x(1)=x(1)+x(2)=2+3=5,I=I+1=2
此时I<2不成立,退出循环,同时退出了Prioc,回到第二个FOR中,注意的是此时由于Static I As Integer,此次Prioc中的I的值被保留。
继续执行第二个FOR,FOR中I=2时,Prioc再执行一次
由于Prioc中的I的值被保留了,所以此次执行时Prioc中的I=2
x(2)=x(2)+x(3)=3+4=7,I=I+1=3
此时此时I<2不成立,退出循环,同时退出了Prioc,第二个FOR也执行完了,此时的结果是x(0)=3,x(1)=5,x(2)=7,x(3)=4,x(4)=5
执行第三个FOR输出x(0)到x(3)这4个数据
因此结果是3 5 7 4
这里I是一个诱导,很容易将第二个FOR中的I与Prioc中的I弄混淆,其实完全是2个变量,你可以把Prioc中的I换成J,这样就好理解了
执行第二个FOR,FOR中I=1时,Prioc执行一次
在Prioc中I=0,因此执行Do循环
x(0)=x(0)+x(1)=1+2=3,I=I+1=1
此时I<2成立,继续循环
x(1)=x(1)+x(2)=2+3=5,I=I+1=2
此时I<2不成立,退出循环,同时退出了Prioc,回到第二个FOR中,注意的是此时由于Static I As Integer,此次Prioc中的I的值被保留。
继续执行第二个FOR,FOR中I=2时,Prioc再执行一次
由于Prioc中的I的值被保留了,所以此次执行时Prioc中的I=2
x(2)=x(2)+x(3)=3+4=7,I=I+1=3
此时此时I<2不成立,退出循环,同时退出了Prioc,第二个FOR也执行完了,此时的结果是x(0)=3,x(1)=5,x(2)=7,x(3)=4,x(4)=5
执行第三个FOR输出x(0)到x(3)这4个数据
因此结果是3 5 7 4
这里I是一个诱导,很容易将第二个FOR中的I与Prioc中的I弄混淆,其实完全是2个变量,你可以把Prioc中的I换成J,这样就好理解了
追问
谢谢
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询