社区
非技术区
帖子详情
呵呵,意外发现这样的代码也能正确运行。
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;
...全文
387
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"网站提供支持服务,处理用户交互并管理数据。这里我们将深入...
AHK(1)之
运行
程序或打开文档
小鸟学AHK(1)之
运行
程序或打开文档 AHK就是AutoHotKey,是一款免费的、Windows平台下开放源
代码
的热键脚本语言。 亲爱的朋友,叫我怎么向你推荐它呢! COOL,对,就是酷,那么多干巴巴的介绍我不想COPY,如果你掌握了...
非技术区
830
社区成员
53,574
社区内容
发帖
与我相关
我的任务
非技术区
Delphi 非技术区
复制链接
扫一扫
分享
社区描述
Delphi 非技术区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章