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.

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

4

1 回答 1

6

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

因此,您可以访问的第一个元素是 2。

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

范围检查错误意味着您试图访问位于无效位置的数组(因此超出范围)。与其他语言不同,Pascal 这样做会引发编译错误。

于 2010-05-16T16:08:13.680 回答