delphi简单的一个问题low high

vararr1,arr2:arrayofinteger;i:integer;beginsetlength(arr1,10);fori:=low(arr1)tohigh(a... var
arr1,arr2:array of integer;
i:integer;
begin
setlength(arr1,10);
for i:=low(arr1) to high(arr1) do
begin
arr1[i]:=i+1;
arr2:=copy(arr1,1,3);
memo1.Text:=inttostr(arr1[1]);
end;
end;

end.

for i:=low(arr1) to high(arr1) do
begin
arr1[i]:=i+1;
arr2:=copy(arr1,1,3);
memo1.Text:=inttostr(arr1[1]);

以上该如何理解呢?
展开
 我来答
ygh_216
推荐于2018-04-30 · TA获得超过497个赞
知道小有建树答主
回答量:155
采纳率:0%
帮助的人:221万
展开全部
low(arr1)数组的下界,就是数组最小下标。high(arr1)就是上界,就是最大下标。因为 程序开始设置了动态数组arr1的大小 setlength(arr1,10) 因此arr1的数组长度为10.
for i:=low(arr1) to high(arr1) do
begin
arr1[i]:=i+1;
arr2:=copy(arr1,1,3);
memo1.Text:=inttostr(arr1[1]);
就是 i从low(arr1) 到 high(arr1)进行循环:low(arr1)=0,high(arr1)=9,因为默认动态数组的下标是从0开始,10个元素,那么最后一个下标就是9。
每一次循环 arr1[i]:=i+1;
而arr2=copy(arr1,1,3)意思是从arr1数组下标为1开始拷贝3个元素给arr2.
例如arr1=[1,2,3,4,5,6,7,8,9,10]
那么arr2就是[2,3,4]
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式