最简单的Delphi递归列子 program Project2; {$APPTYPE CONSOLE} uses SysUtils,Dialogs; var Alpha:Integer; Procedure Test2(var A:Integer);forward;//前置说明 procedure Test1(var A:integer); begin A:=A-1; showmessage(IntToStr(A)); if A>0 then Test2(A); //经前置说明,调用Test2 Writeln(A); end; procedure Test2(var A:Integer); begin A:=A div 2; if A>0 then Test1(A); //回调test1 end; begin Alpha:=15; Test1(alpha); end.