TPascal,Stack Overflow,递归

时间:2015-05-22 12:04:52

标签: pascal

我的程序应该反转一个字符串(例如,对于Hello world返回dlrow olleH),它仅适用于小于20个字符的字符串。对于20或更多,我得到"错误202堆栈溢出"。谢谢:))

Program Inv;
var S, A: String;
n: integer;

Function I(X: String; z: integer):String;
    begin
        if z=1 then I:=X[z] else
        I:=X[z]+I(X, z-1);
    end;

begin
    write ('Enter your text: ');
    readln (S);
    n:=length(S);
    A:=I(S, n);
    writeln (A);
    readln;
end.

0 个答案:

没有答案