读书人

delphi怎么实现递归

发布时间: 2012-06-21 13:42:41 作者: rapoo

delphi如何实现递归?
delphi貌似没有return 吧?那是如何实现递归的呢?
谁能把这C翻译成delphi

C/C++ code
#include <stdio.h>int func(int x){    if(x==0)        return 1;    else        return x*func(x-1);}int main(){    printf("%d",func(4));    return 0;}


[解决办法]
哎...
Delphi(Pascal) code
function func(x: Integer);begin  if x = 0 then    Result := 1  else    Result := func(x - 1);end;
[解决办法]

Delphi(Pascal) code
function func(x:integer):integer;begin  if x=0 then     result:=1  else     result:=x*func(x-1);end;
[解决办法]
退出用exit
[解决办法]
Delphi中可以用result代表函数的返回值(如果你显式定义了叫result的局部变量则不能用作返回值),而且比return更好用,result既能作为左值也能作为右值,但是既不退出函数也不递归,可以反复用。Delphi函数中,本函数名作为左值代表返回值(但是也并不退出函数),作为右值代表递归调用。

读书人网 >.NET

热点推荐