请问下面delphi程序中c,d,e,f,h,i,j,分别表示什么含义。

procedureTForm1.Button1Click(Sender:TObject);vara:arrayofarrayofinteger;varc,d,e,f,g,... procedure TForm1.Button1Click(Sender: TObject);
var a:array of array of integer;
var c,d,e,f,g,h,i,j:string;
begin
setlength(a,3,4);
setlength(b,4,3);
c:=inttostr(high(a));
d:=inttostr(high(a[0]);
e:=inttostr(low(a));
f:=inttostr(low(a[0]));
//下面可能是错误的
g:=inttostr(high(a[1]);
h:=inttostr(high(a[2]);
i:=inttostr(high(a[3]);
j:=inttostr(high(a[4]);
//上面可能是错误的
end;
a是二维数组,为什么会写成a[0]?
展开
 我来答
tendgzf
2012-07-30 · 知道合伙人教育行家
tendgzf
知道合伙人教育行家
采纳数:336 获赞数:1145
从事气体安全系统工程方面近十年,对气体安全方面有一定期了解,在国内安全类杂志上发表多篇论文。

向TA提问 私信TA
展开全部
c:=inttostr(high(a)); C应该=2 代表第一维的最大数 a[i],i的最大数是2
d:=inttostr(high(a[0]); d=3,代表,a[0] 这个数组,a[0,j] .j 的最大数是3
d:=inttostr(high(a[0]);
e:=inttostr(low(a)); 这两个当然都是0了。

g:=inttostr(high(a[1]);
h:=inttostr(high(a[2]); 这两个没错,和a[0] 的值一样。一个意思。

var
A : array of array of string;
I, J : Integer;
begin
SetLength(A, 10);
for I := Low(A) to High(A) do
begin
SetLength(A[I], I);
for J := Low(A[I]) to High(A[I]) do
A[I,J] := IntToStr(I) + ',' + IntToStr(J) + ' ';
end;
end;

运行一下这段。。你就明白了。

有点事,出去了,等我写完这段,发现问题已经结束了,呵呵,
还是发上去吧,供参考。
caseyou4ever
2012-07-30 · TA获得超过456个赞
知道小有建树答主
回答量:583
采纳率:0%
帮助的人:303万
展开全部
a是二维数组,那么a[0]、a[1]...分别就是一个一维数组。
setlength(a,3,4); //a此时就是a[0..2,0..3]
c是二维数组a 的第一维的最大的下标值,就c=2; 同理e=0;
d是一维数组a[0],及二维数组a的第二维的最大下标值,d=3;同理f=0;
g=h=d=3;
i和j由于a[3]、a[4]都超出了a的第一维的下标最大值,所以会报内存错。

另:
1、b没有声明。
2、以下语句少一个右括号,如d:=inttostr(high(a[0]));
d:=inttostr(high(a[0]);
g:=inttostr(high(a[1]);
h:=inttostr(high(a[2]);
i:=inttostr(high(a[3]);
j:=inttostr(high(a[4]);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式