for循环的2个问题

yplin yplin 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
1、
for i := 0 to 3 do //下断点
begin
……//n行
for j := 0 to 3 do
begin
//n行
end;
Gauge1.Progress := k + 1; //显示进度
Application.ProcessMessages; //注意这里
end;

The Issue :刚开始的时候,进度显示始终在1和0中跳动,晕了半天,后来下断点,发现i的值居然始终是0!去掉Application.ProcessMessages后居然……靠……正常了!!?请问高人这是为什么?

2、
为了验证以上的问题,我又开了一个delphi(7)做实验,很简单的循环
for i := 0 to 3 do //断点
for j := 0 to 3 do

就两行,第一次运行,跟踪i的值,第 1 次循环, i = 4,第2次,i = 3, ……,至此,彻底晕菜……
第二次运行,i的值开始正常,0、1、2、3,以后几次运行再没出现第一次的情况,这是为什么?

3、没喝酒,没吸粉,没写童话,只想知道是不是只有我一个人有过这种情况?
...全文
评论 6
收藏 已收藏
分享
返回顶部