【问题标题】:The do while loop structuredo while 循环结构
【发布时间】:2014-04-12 15:37:17
【问题描述】:

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

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

【问题讨论】:

  • 最好用你使用的语言来标记它。

标签: vba loops do-while


【解决方案1】:

变量实际上只是内存中的一个位置。该位置可以具有任何价值。通过设置 i=i+1,您实际上是在说“在位置 i 处取值,将其加 1,然后将其存储在位置 i 处”。没有创建新变量。计算机解释这一点没有问题——它关心的是 i 的位置,它不会改变。它仍然知道在哪里可以找到 i,无论您在那里更改值多少次。

【讨论】:

    【解决方案2】:

    由于您已将变量i 创建为全局变量,因此对子中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时,计算机“看到”这个为i的值,加一,并将结果存储在变量i中。

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-09
      • 2015-07-03
      • 2016-02-21
      • 2020-11-26
      • 2015-02-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多