我的一个仅仅是快排的程序怎么编译会出现202错误?
我查了下202是溢出,但我这个程序怎么会溢出....
program NieKspx;
const n=5;
var a:array[0..100] of integer;
i:integer;
procedure Nie(l,r:integer);
var i,j,k:integer;
begin
if l<r then begin
i:=l;j:=r;
k:=a[l];
repeat
while (a[j]>k)and(j>i) do dec(j);
if j>i then begin a[i]:=a[j];inc(i);end;
while (a[i]<k)and(i>j) do inc(i);
if j>i then begin a[j]:=a[i];dec(j);end;
until j=i;
a[i]:=k;
nie(1,j-1);
nie(i+1,n);
end;
end;
begin
writeln('Input the array');
for i:=1 to n do readln(a[i]);
Nie(1,n);
writeln('The output:');
for i:=1 to n do writeln(a[i]);
readln;
end.

我查了下202是溢出,但我这个程序怎么会溢出....
program NieKspx;
const n=5;
var a:array[0..100] of integer;
i:integer;
procedure Nie(l,r:integer);
var i,j,k:integer;
begin
if l<r then begin
i:=l;j:=r;
k:=a[l];
repeat
while (a[j]>k)and(j>i) do dec(j);
if j>i then begin a[i]:=a[j];inc(i);end;
while (a[i]<k)and(i>j) do inc(i);
if j>i then begin a[j]:=a[i];dec(j);end;
until j=i;
a[i]:=k;
nie(1,j-1);
nie(i+1,n);
end;
end;
begin
writeln('Input the array');
for i:=1 to n do readln(a[i]);
Nie(1,n);
writeln('The output:');
for i:=1 to n do writeln(a[i]);
readln;
end.
