顺序表的程序,在pascal里完全正常,在Delphi里就提示:Runtime error 105 at 00403AC6
program list(input,output);
const maxlen=30;
type sqlisttp=record
data:array[1..maxlen]of integer;
last:0..maxlen
end; var l:sqlisttp;
procedure view (f:sqlisttp);
var i:integer;
begin
for i:=1 to f.last do
begin
write(f.data[i]);
end;
writeln
end;
procedure creat(var f:sqlisttp);
var i,ch:integer;
begin
i:=1;
f.last:=0;
writeln('please input the length of list');
read(ch);
f.last:=ch;
writeln('please input data');
repeat
read(ch);
f.data[i]:=ch;
i:=i+1;
until (i>f.last);
view(f)
end;
procedure convert(var f:sqlisttp);
var i,n,m,x:integer;
begin
n:=f.last;
m:=n div 2;
for i:=1 to m do
begin
x:=f.data[i];
f.data[i]:=f.data[n-i+1];
f.data[n-i+1]:=x
end;
view(f)
end;
begin
creat(l);
convert(l)
end.
program list(input,output);
const maxlen=30;
type sqlisttp=record
data:array[1..maxlen]of integer;
last:0..maxlen
end; var l:sqlisttp;
procedure view (f:sqlisttp);
var i:integer;
begin
for i:=1 to f.last do
begin
write(f.data[i]);
end;
writeln
end;
procedure creat(var f:sqlisttp);
var i,ch:integer;
begin
i:=1;
f.last:=0;
writeln('please input the length of list');
read(ch);
f.last:=ch;
writeln('please input data');
repeat
read(ch);
f.data[i]:=ch;
i:=i+1;
until (i>f.last);
view(f)
end;
procedure convert(var f:sqlisttp);
var i,n,m,x:integer;
begin
n:=f.last;
m:=n div 2;
for i:=1 to m do
begin
x:=f.data[i];
f.data[i]:=f.data[n-i+1];
f.data[n-i+1]:=x
end;
view(f)
end;
begin
creat(l);
convert(l)
end.
改称下面的就不会错了~v~program list(input,output);
{$APPTYPE CONSOLE}
const maxlen=30;
type sqlisttp=record
data:array[1..maxlen]of integer;
last:0..maxlen
end; var l:sqlisttp;
procedure view (f:sqlisttp);
var i:integer;
begin
for i:=1 to f.last do
begin
write(f.data[i]);
end;
writeln
end;
procedure creat(var f:sqlisttp);
var i,ch:integer;
begin
i:=1;
f.last:=0;
writeln('please input the length of list');
read(ch);
f.last:=ch;
writeln('please input data');
repeat
read(ch);
f.data[i]:=ch;
i:=i+1;
until (i>f.last);
view(f)
end;
procedure convert(var f:sqlisttp);
var i,n,m,x:integer;
begin
n:=f.last;
m:=n div 2;
for i:=1 to m do
begin
x:=f.data[i];
f.data[i]:=f.data[n-i+1];
f.data[n-i+1]:=x
end;
view(f)
end;
begin
creat(l);
convert(l)
end.