Q
qqjm
Unregistered / Unconfirmed
GUEST, unregistred user!
我用的是Delphi 7;
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
buf:array [0..32] of byte;
begin
for i := 0 to Length(buf) do
begin
buf:= 0;
end;
end;
调试一个循环的时候发现了一个不可思议的事情,于是写了上面一段的代码。
我在循环中加入断点查看i的值,第一次循环时用鼠标指向i,发现i=33,我还以为看错了,于是把i加入Watch List,但还是33。
太神了,我重启了电脑新建了工程再次测试以上的代码,结果还是一样。。。。。。。。。
我可以确定两件事:我没有发烧,电脑没有中毒。
后来我加入了ShowMessage(inttostr(i));发现show出来的值是正确的,鼠标指向i得到的值也是正确的,但是如果我删除了这句,Watch List 中显示的 i的值又是从33开始,每循环一次减1。
晕,这是什么问题。。。。。。。
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
buf:array [0..32] of byte;
begin
for i := 0 to Length(buf) do
begin
buf:= 0;
end;
end;
调试一个循环的时候发现了一个不可思议的事情,于是写了上面一段的代码。
我在循环中加入断点查看i的值,第一次循环时用鼠标指向i,发现i=33,我还以为看错了,于是把i加入Watch List,但还是33。
太神了,我重启了电脑新建了工程再次测试以上的代码,结果还是一样。。。。。。。。。
我可以确定两件事:我没有发烧,电脑没有中毒。
后来我加入了ShowMessage(inttostr(i));发现show出来的值是正确的,鼠标指向i得到的值也是正确的,但是如果我删除了这句,Watch List 中显示的 i的值又是从33开始,每循环一次减1。
晕,这是什么问题。。。。。。。