在for循环中一个奇怪的问题?(100分)

  • 主题发起人 经典音乐
  • 开始时间

经典音乐

Unregistered / Unconfirmed
GUEST, unregistred user!
不知大虾遇到这样一种情况?
for Index := 1 to 1000 do
.....
执行上述循环时有时会Index从1000到着来:即1000,999,998,。。。1(注意:这里不是
downto)
而for Index := 1000 downto 1 do
.....
执行时又会Index = 1,2,3,....

据说这是delphi编译器的bug。
不知是不是?望各位高手解答!同时什么情况这种情况会出现?谢谢!
 
P

pingbaoshi

Unregistered / Unconfirmed
GUEST, unregistred user!
是这样的,我想就是这样。 编译器就是这样来编的吧?
 

经典音乐

Unregistered / Unconfirmed
GUEST, unregistred user!
谢谢!但是有时顺着来有时到着来/如何解释?
 
X

xianjun

Unregistered / Unconfirmed
GUEST, unregistred user!
这是不可能的,你会不会看错了?
如果是这样的话,那我们的大多数程序都不用跑了。
 

经典音乐

Unregistered / Unconfirmed
GUEST, unregistred user!
难道没有真正的大虾吗?


如果能解决,200分都可以。
 
A

abcgo

Unregistered / Unconfirmed
GUEST, unregistred user!
是不是index找的麻烦,换成i或者其它的试试,我没有碰到过。
 
Z

zhihuali

Unregistered / Unconfirmed
GUEST, unregistred user!
你试试下面的代码看看:
var
I;Integer;
begin
for I:=1 to 1000 do
begin
Label1.Caption:=IntToStr(I);
Label1.Refresh;
Sleep(10);
end;
end;
//看是不是从 1 到 1000;
 
Q

Qiuliang

Unregistered / Unconfirmed
GUEST, unregistred user!
贴出完整源码看看。
 

经典音乐

Unregistered / Unconfirmed
GUEST, unregistred user!
不是这样的:这样肯定是顺着来,但是

大概是在类成员变量进行循环扶植时会出现颠倒情形?
 

酷尔贝塔

Unregistered / Unconfirmed
GUEST, unregistred user!
[blue]有这回事?把源码贴出来瞧瞧吧。[8D][/blue]
 
V

varphone

Unregistered / Unconfirmed
GUEST, unregistred user!
Must on your "Index"!
 
P

pingbaoshi

Unregistered / Unconfirmed
GUEST, unregistred user!
我发现有这样的事情。
 
S

SINGLBOY

Unregistered / Unconfirmed
GUEST, unregistred user!
是的我遇过,只不过有时候你们不注意吧!
原因有二个:
1。别的地方出错导致的
2。在循环中引用了Index
 
Z

zjlcc

Unregistered / Unconfirmed
GUEST, unregistred user!
有的,单步跟踪时经常碰见,实际运行效果并不出错
 
W

WilliamGui

Unregistered / Unconfirmed
GUEST, unregistred user!
SINGLBOY說的有點道理﹐
這樣吧﹐換個變量試度﹐
如果不會﹐那就是Index變量的問題﹐
如果還會﹐那就是錯覺﹐去吃點藥﹐再試試

 
L

lincgroup

Unregistered / Unconfirmed
GUEST, unregistred user!
不会吧,这里还有错觉?
 
X

xyf2001721

Unregistered / Unconfirmed
GUEST, unregistred user!

王和

Unregistered / Unconfirmed
GUEST, unregistred user!
没有遇到过。
1、如果在循环中没有使用循环变量则不需要考虑这个问题;
2、如果需要使用循环变量,也不要使用类似INDEX之类有争议的变量名称;
否则很多时候会自找麻烦;
3、我通常是使用I,J,M之类做循环变量,从来没有遇到过你类似的问题;
供参考
 
W

wrench

Unregistered / Unconfirmed
GUEST, unregistred user!
我遇到过

没搞定 换成while 了
 

萧月禾

Unregistered / Unconfirmed
GUEST, unregistred user!
以前听别人说过
现在他都不敢用FOR,都用WHILE了
 
顶部