do while循环结构

时间:2014-04-12 15:37:18

标签: vba loops do-while

在do while循环结构中,通常会有一个声明变量等于数字的部分(在本例中为i),然后在第二部分中进行增量(i+1)。我已经在vba中创建了这个例子,但是当你从数据库中获取数据时,结构可以用几种不同的编程语言重复,比如php中的for。现在,我想要更好地理解的是前面提到的声明之间的关系,即i = some numberi = i + 1。这不会产生解释问题,因为你要将变量声明为某个东西,然后在它之后分配一个不同的值吗?变量值的第二个声明i = i + 1,一个调用前一个或两个i的新变量是否相同?这是我打算这个问题的一般方向。我认为解释这两个变量的独家新闻有助于理解。谢谢!

Sub DoWhile()
Dim x, i, sum
x = 10
i = 1
sum = 0
Do While i < x
sum = sum + i
i = i + 1
Loop
MsgBox “Sum = ” & sum
End Sub

2 个答案:

答案 0 :(得分:1)

变量实际上只是内存中的一个位置。该位置可以有任何价值。通过设置i = i + 1,你真的说&#34;取位置i的值,加1,并将其存储在位置i&#34;。没有创建新变量。计算机解释这一点没有问题 - 它关心的是i的位置,它不会发生变化。它仍然知道在哪里找到i,无论你在那里改变它的次数。

答案 1 :(得分:0)

由于您已将变量i创建为全局变量,因此对sub中i的任何引用或修改都将位于同一变量上。话虽如此:

Dim i as int

i = 1

Do while i < 11
     MsgBox("The value of i is: " & i)
     i = i + 1
Loop

将显示10个消息框,显示i的值介于1和10之间。

当程序遇到i = i + 1时,计算机会看到&#39;这取i的值,加1,并将结果存储在变量i。

希望有所帮助。