pascal - 帕斯卡 for 循环如何工作?

标签 pascal

我有一个与 Pascal 中的 for 循环工作方式相关的问题:

Program example;
var i:integer;
Begin
     i:=7;
     for i:=1 to i do write(i);
End.

这段代码输出:1234567。 我认为编译器会制作变量 i 的辅助副本,然后在 for 循环中使用该副本。

最佳答案

请注意,根据 ISO7185 标准,这是在 Pascal 中工作所必需的。应在修改循环计数器之前复制“最终值”。

https://github.com/Leporacanthicus/lacsap/blob/master/test/Basic/iso7185pat.pas#L761

关于pascal - 帕斯卡 for 循环如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35455703/

相关文章:

string - 帕斯卡比较字符串

pascal - 非法表达:如果,则为else语句

algorithm - 使用指针 Next 的链表挑战

delphi - 如何通知 Free Pascal 编译器为编译的应用程序设置区域设置 ID

delphi - GetEnumName TypeInfo 问题(pascal/Delphi 控制台)

algorithm - 给定出发日期和持续时间计算到达日期

delphi - 为淘汰赛创建二叉树

java - 如何使三角函数代码更高效

c++ - 为什么函数不给出整数溢出

c++ - 帕斯卡到 C++ : trunc