数组的帕斯卡错误

发布于 2024-09-01 13:08:55 字数 241 浏览 3 评论 0原文

program s;
  type info = record
       name, surname: string;
       min, sec: integer;
  end;
  arrays = array[2..50] of info;

  var A: arrays;
begin
  A[1].name := 'name';
end.

这有什么问题吗?它给了我范围检查错误,我不知道那是什么。

program s;
  type info = record
       name, surname: string;
       min, sec: integer;
  end;
  arrays = array[2..50] of info;

  var A: arrays;
begin
  A[1].name := 'name';
end.

What is wrong with that? It gives me range check error and I have no idea what is that.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

霞映澄塘 2024-09-08 13:08:55

它会给你一个错误,因为你正在创建一个从索引 2 到 50 的数组。

因此你可以访问的第一个元素将是 2。

begin
  A[2].name := 'name';
end.

范围检查错误意味着你正在尝试访问无效位置的数组(因此,超出范围)范围)。 Pascal 与其他语言不同,如果执行此操作,则会引发编译错误。

It gives you an error because you are creating an array from indexes 2 to 50.

So the first element you can access would be 2.

begin
  A[2].name := 'name';
end.

A range check error means that you are trying to access an array in an invalid position (hence, out of range). Pascal, unlike other languages, throws a compilation error if you do this.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文