社区
非技术区
帖子详情
呵呵,意外发现这样的代码也能正确运行。
eastliangliang
2005-03-04 11:36:22
Delphi还真贴心啊,哈哈。
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
begin
i := 4;
for i := 0 to i - 1 do
showmessage(inttostr(i));
end;
...全文
383
37
打赏
收藏
呵呵,意外发现这样的代码也能正确运行。
Delphi还真贴心啊,哈哈。 procedure TForm1.Button1Click(Sender: TObject); var i:integer; begin i := 4; for i := 0 to i - 1 do showmessage(inttostr(i)); end;
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
37 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lw549
2005-03-07
打赏
举报
回复
回来晚了,循环中不用i,可以单步跟踪一下,发现i是从大到小执行的,和for的写法没有关系,原理上面已经说了。
>>for循环是事先确定循环次数的,你可以在调试的时候打开CPU看汇编,我说过,Delphi先把循环次数算出来放在寄存器ESI中,以后每次减1,不会再重新计算循环次数啦。
Sunniness
2005-03-05
打赏
举报
回复
呵呵,晕倒
caiso
2005-03-05
打赏
举报
回复
顶一下
eastliangliang
2005-03-05
打赏
举报
回复
for循环是事先确定循环次数的,你可以在调试的时候打开CPU看汇编,我说过,Delphi先把循环次数算出来放在寄存器ESI中,以后每次减1,不会再重新计算循环次数啦。
C语言是每次都计算循环条件的,不过它的for循环功能强大,这样做也是为了能实现其它循环的功能。
谁把C语言的for循环的反汇编代码贴出来,我机器上只有老式TC,还不太会使^_^
merkey2002
2005-03-05
打赏
举报
回复
Delphi还真贴心啊,哈哈。
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
begin
i := 4;
for i := 0 to i - 1 do //这里的i-1 运算先于i:=0,而且for 循环事先确定循环次数,
//不像 while <条件> do 那样每次循环前要进行重新判断.因此这里i-1只执行了一次.
showmessage(inttostr(i));
end;
我分析的对不?
Breakc0de
2005-03-05
打赏
举报
回复
呵,也是啊。
才子鸣
2005-03-05
打赏
举报
回复
up
lushiyu0
2005-03-05
打赏
举报
回复
回复人: eastliangliang(青苹果) ( ) 信誉:137 2005-03-04 14:27:00 得分: 0
呵呵,C语言里可不是这样的。
i=4;
for(i=0;i<i-1;i++)//--------------老大,这行和上一行i=4 之间是不是有什么冲突?当染不能执行了!
printf("%d",i);
不执行循环的。
那孩子他爹,不用i有什么有意思的事啊?
for i := 0 to i - 1 do
showmessage('hello world');
打四个hello world,没什么啊。
这不能是bug,只是优化。
cangwu_lee
2005-03-05
打赏
举报
回复
语言的特点
eastliangliang
2005-03-05
打赏
举报
回复
呵呵,楼上想的太多啦,这点小事,不用想那么多大道理哈^_^
firstshine
2005-03-05
打赏
举报
回复
所以,谁都没有资格教训新手:我已经精通XXX......
写程序,就得学到老
lw549
2005-03-04
打赏
举报
回复
呵呵,如果不是ShowMessage用到了i,还有更有意思的事呢:)
试试看
hthunter
2005-03-04
打赏
举报
回复
我只要分……
ly_liuyang
2005-03-04
打赏
举报
回复
本来就是可以的
http://lysoft.7u7.net
DieGhost
2005-03-04
打赏
举报
回复
想想也是,自己原来都是多此一举了
lym_1978
2005-03-04
打赏
举报
回复
呵呵
gxgyj
2005-03-04
打赏
举报
回复
^_^
DieGhost
2005-03-04
打赏
举报
回复
昏倒
eastliangliang
2005-03-04
打赏
举报
回复
Delphi在循环开始把i+1算出来放在ESI中,以后就不用变量i了。我以前都是用两个变量完成这个循环功能,现在看真是多此一举啊。
XXSingle
2005-03-04
打赏
举报
回复
呵呵,平时都没注意喔
加载更多回复(17)
超强php程序的反编译工具
Windows7及vista系统...大家在开发自己的PHP程序时,可以采用较长的自定义函数名和变量名,这样Dezender就无法
正确
的识别出明文来了,就算解密掉程序本身,因为函数和变量都已经被混淆,自然也很难让程序
正确
运行
了。
IIS修复工具/iis修复
呵呵",这是一条用户反馈,表明该工具经过实际使用,效果良好,能有效解决问题,给用户带来积极的体验。 标签中的“iis”和“IIS 修复”进一步强调了这个工具专注于IIS的故障修复,涵盖了从基础服务到特定问题的...
JWD_Exercise2
11. **单元测试**: Java提供了JUnit框架进行单元测试,确保
代码
的功能
正确
性。熟练使用@Test注解和各种断言方法是编写可靠
代码
的关键步骤。 12. **设计模式**: 设计模式是解决常见问题的成熟解决方案,如单例模式、...
dics-backend:为dics网站制作后端服务器
在IT行业中,构建一个后端服务器对于任何Web应用程序都是至关重要的,尤其是对于"DICS"这样的网站。本项目名为“dics-backend”,显然它的目标是为"DICS"网站提供支持服务,处理用户交互并管理数据。这里我们将深入...
BT源
代码
分析
由于 BT 客户端涉及的
代码
比较多,我不能再象分析 tracker 服务器那样,走上来就深入到细节之中去,那样的话,我写的晕晕糊糊,大家看起来也不知所云。所以第一篇文章先来谈谈客户端的功能、相关协议,以及客
非技术区
830
社区成员
53,574
社区内容
发帖
与我相关
我的任务
非技术区
Delphi 非技术区
复制链接
扫一扫
分享
社区描述
Delphi 非技术区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章