请问关于procedure和function的区别?

procedure和function的区别


小怪兽爱吃肉
浏览 456回答 4
4回答

BIG阳

procedure 就是纯运行的过程(可以不命名),function则是函数,是有值的,有时可以直接输出procedure多用于深搜,function多用于递归,比较(以下都是正确打法):①procedure;②procedure dfs(x:longint);//(此处dfs只能调用,不能以ans:=dfs(x)或writeln(dfs(x))的形式出现)③function a:(x:boolean):longint;//(此处a被赋为longint,可以直接输出或作为longint使用,如ans:=a(x),当然,每次都会重新算一遍,boolean则是变量x'的定义,如果a被赋为boolean,是不可以输出的,但同样能作为boolean使用)

慕田峪9158850

其实 过程-procedure 和 函数-function本质差不多楼上说的返回值, 其实两种方法都有, function是直接返回, 而procedure是间接返回比如我定义一个函数 function add(a, b: Integer): Integer; //最后的Integer就是返回值在函数里面有专门的Result 来传递这个返回值而procedure没有直接返回值, 如果想要procedure返回某个数值可以在过程里面定义变量, 然后借助这个变量来返回数值楼主你问到怎么从输出我举个例子, 就举加法的例子function add1(a, b: Integer): Integer;begin Result := a + b;end; procedure add2(a, b: Integer);var Res: Integer;begin Res := a + b; Writeln(Res);end; 调用的时候看清楚了我先调用函数形式的var a, b: Integer;begin Readln(a, b); Writeln(IntToStr(add1(a, b))); //这个直接调用函数, 直接返回 Readln;end. 这个是过程的var a, b, Res: Integer;begin Readln(a, b); add2(a, b); //函数里面间接输出了, 并不需要在主程序里面再次输出了 Readln;end.

大话西游666

package 是包 和JAVA包一个概念 分包头和包体 包头中创建procedure(存储过程)包体中将存储过程实现 存储过程就是你预先定义好的一些数据操作语句 function是函数是对数据库中一些数据的处理 和JAVA中的方法有点像
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java