我不明白数组范围如何真正限制我,例如这个程序
program Test;
var
a:integer;
c:array[1..5] of integer;
begin
for a:=0 to 8 do begin
read(c[a]);
end;
for a:=0 to 8 do begin
writeln(c[a]);
end;
end.
用于输入
1 2 3 4 5 6 7 8 9
写
1 2 3 4 5 6 7 8 9
(由于
writeln
而全部位于新行中),但 array
范围应从 1
到 5
。那么它如何接受更多的值呢?我也尝试过 Setlength(c,5)
但同样的故事。
for a:=low(c) to high(c) do
<code>
较新的 delphi 也可能允许长度,定义为 high(c)-low(c)+1