我正在Embarcadero Delphi 2010中编写一个简单的应用程序.一个包含两个周期的简单代码:
procedure TForm1.Button1Click(Sender: TObject);
var
a:array [0..255] of integer;
i:integer;
k,q:integer;
begin
k:=0;
for I := 0 to 255 do
begin
a[i]:=i;
end;
for I := 0 to 255 do
begin
q:= a[i];
k:=k+q;
end;
Label1.Caption:=inttostr(k);
end;
Run Code Online (Sandbox Code Playgroud)
根据监视列表,在第二个循环变量"i"从值256开始并且转到0(256,255,254,...,0),但是数组的元素是正确的(0,1,2,3,... ).变量"i"仅在本地声明,没有全局变量.为什么会这样?这是正常的行为吗?