VB循环内变量值的变化问题?

来源:百度知道 编辑:UC知道 时间:2024/06/15 20:15:55
a = 1
b = 1
For i = 1 To 5
c = a + b
Print c
b = a
a = c
Next
我在a=c的前面加了一个断点,按理说,第一次循环结束后应该是b=1,a=2。当第二次循环停下时,我看到c=a+b中,c的值是3,而a,b都是2。
有两个问题:
第一、如果按c=a+b来说,那c应该是4才对啊?
第二、如果按第一次循环结束的结果来说,c=a+b中b的值应该是1才对,为什么显示是2呢?
请高手指教。
关于第二个问题,第二次循环应该是到了b=a处,b值才成了2,难道程序又回头去把上面c=a+b中的b值改成了2(而它的实际值本身应是第一次循环结束时的b=1)。还是不明白。

断电前,B的值已经变化了。你应该在print c处做断点。
补充:你把鼠标移动到b上面,只显示该变量最后的值。不是在哪地方应该的值。

问题一:
第一次循环:a=1 b=1 c=2
第二次循环:a=2 b=1 c=3
第三次循环:a=3 b=2 c=5
第四次循环:a=5 b=3 c=8
第五次循环:a=8 b=5 c=13

问题二:
显示2就对了,因为你是Print c而不是Print b

在某条语句加断点,你看到的结果是该语句运行之前的结果
第一循环:a=1,b=1,c=2
第二次循环:a=2.b=1,c=3

c=a+b已经在b = a之前运算完毕了,所以你的第一问题可以解决;
至于第二个问题,那是你在第二次循环中得到的值,所以应该是2