首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

for循环话语奇怪的自己倒序了是什么原因

2013-03-25 
for循环语句奇怪的自己倒序了是什么原因for i:1 to 7 do这句应该是i从1每次加1直到7,可是我的程序中在跟

for循环语句奇怪的自己倒序了是什么原因
for i:=1 to 7 do  这句应该是i从1每次加1直到7,可是我的程序中在跟踪时发现i自己从7开始向下减1,这是怎么回事啊?
for i:=1 to 30 do  跟踪发现i是从30开始向下减
for i:=0 to 47 do 跟踪发现i是从48开始向下减
我并没有写成  downto 为什么自动成了倒序了?我的平台是delphi2010  系统是WIN7  以前一直正常,今天发现这个问题的。
[解决办法]
你在循环的时候 并没有用到你的循环体 i

这个循环体i 被放到了 ECX 计数寄存器里面. 每次循环减一,这样效率好!
[解决办法]
如果你没用到循环变量就会被优化成倒序.因为倒序代码会小一点.
如果循环变量减到0,标志位寄存器会被打上0标志.JZ指令跳转即可,无需做cmp操作.

热点排行