用户登录
用户注册

分享至

xforword

  • 作者: 有一个部位和马一样长
  • 来源: 51数据库
  • 2020-04-21

1.Pascal嵌套中的Forward如何使用

forward是一种类似于前向调用的关键字,其用法如下:

function max(a,b:longint):longint;forward;

function ex1(a,b:longint):longint;forward;

function max(a,b:longint):longint;

begin

if a>b then exit(a);

exit(b);

end;

function ex1(a,b:longint):longint;

begin

exit(max(a,b));

end;

//当然这段程序无意义、、、

解释一下,是这么样的:在pascal中,所有procedure和function是不可以互相使用的,比如说:

function max(a,b:longint):longint;

begin

if a>b then exit(a);

exit(b);

end;

function ex1(a,b:longint):longint;

begin

exit(max(a,b));

end;

这段程序就是非法的,默认中pascal的互相调用会引起错误,可能是内存上容易因此错误吧。。

因此在互相调用之前需要向编译器声明,我要调用和我同级的子程序了,你得给我安排好了,于是编译器就给你安排了一下,使得,厄,貌似是内存指针上还是什么玩意儿的做了一下变动,就是换了一种处理方式,于是就可以调用了。。

其实还可以这么玩:

procedure ex1(ex:longint);forward;

procedure ex2(ex:longint);forward;

procedure ex1(ex:longint);

begin

//语句1

//语句2

ex2(n);

//语句X

//语句Y

end;

procedure ex2(ex:longint);

begin

begin

//语句1

//语句2

ex1(n);

//语句X

//语句Y

end;

然后就可以实现互相调用了··

可以继续追问或者私M我

转载请注明出处51数据库 » xforword

软件
前端设计
程序设计
Java相关