请问下面delphi程序中c,d,e,f,h,i,j,分别表示什么含义.procedure TForm1.Button1Click(Sender:TObject);var a:array of array of integer;var c,d,e,f,g,h,i,j:string;beginsetlength(a,3,4);setlength(b,4,3);c:=inttostr(high(a));d:=inttostr(high(a[

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/07 09:24:02
请问下面delphi程序中c,d,e,f,h,i,j,分别表示什么含义.procedure TForm1.Button1Click(Sender:TObject);var a:array of array of integer;var c,d,e,f,g,h,i,j:string;beginsetlength(a,3,4);setlength(b,4,3);c:=inttostr(high(a));d:=inttostr(high(a[

请问下面delphi程序中c,d,e,f,h,i,j,分别表示什么含义.procedure TForm1.Button1Click(Sender:TObject);var a:array of array of integer;var c,d,e,f,g,h,i,j:string;beginsetlength(a,3,4);setlength(b,4,3);c:=inttostr(high(a));d:=inttostr(high(a[
请问下面delphi程序中c,d,e,f,h,i,j,分别表示什么含义.
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]?

请问下面delphi程序中c,d,e,f,h,i,j,分别表示什么含义.procedure TForm1.Button1Click(Sender:TObject);var a:array of array of integer;var c,d,e,f,g,h,i,j:string;beginsetlength(a,3,4);setlength(b,4,3);c:=inttostr(high(a));d:=inttostr(high(a[
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]);