Pergunta

No loop do while estrutura normalmente há uma parte onde você declarar uma variável igual a um número (no caso eu) e, em seguida, em uma segunda parte que você faça um incremento de (i+1).Eu fiz este exemplo em vba, mas a estrutura pode ser repetido em diversas linguagens de programação como o for em php quando você está recebendo dados de um banco de dados.Agora, o que eu gostaria de entender melhor a relação entre as referidas declarações, que é i = some number e i = i + 1 .Não seria isso gerar um problema de interpretação, uma vez que você está declarando uma variável para algo e, em seguida, atribuir um valor diferente para a direita depois?É a segunda declaração do valor da variável, i = i + 1, uma nova variável chamada anterior de um ou ambos os eu são o mesmo?Esta é uma orientação geral que eu pretendo com esta questão.Eu acho explicando a colher de ambas as variáveis gostaria de ajuda para entender.Obrigado!

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
Foi útil?

Solução

Desde que você tenha criado a variável i como uma variável global, qualquer referência ou modificação i no sub vai ser na mesma variável.O que está sendo dito:

Dim i as int

i = 1

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

gostaria de apresentar 10 messageboxes mostrando o valor de i entre 1 e 10.

Quando o programa encontra i = i + 1, o computador " vê " este como o valor de i, é, e armazenar o resultado na variável i.

Espero que ajude.

Outras dicas

Uma variável é realmente apenas um local na memória.Essa localização pode ter qualquer valor.Por definição i=i+1, você está realmente dizendo: "toma o valor na posição i, suplemento 1, e armazená-lo na posição que eu".Nenhuma nova variável é criada.Não há nenhum problema com o computador interpretação - o que lhe importa é a localização do eu, o que não é mudando.Ele ainda sabe onde encontrar eu, independentemente de quantas vezes você mudar o valor.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top