pascal 过程和函数的区别

如题所述

下面这段是网上找的: 主要有四点区别: 第一,函数往往只为求一个函数值,过程一般会被设计成求若干个运算结果,完成一系列的数据处理。 第二,函数有类型,最终要将函数值传送给函数名,过程无类型,不能给过程名赋值。 第三,调用方式不同,函数的调用出现在表达式中,过程的调用是由独立的过程调用语句实现的。 第四,返回值的方法不同,函数值是通过函数名传回调用程序,过程则是通过参数将运算的结果传给调用程序。 请教这四点对吗?下面是一个简单的例子: function benben(x:integer):integer;//声明函数 var //声明函数的变量z为整型 z:integer; begin //函数的作用是判断x如果不小于0,则返回值为x+1, //如果x小于0,则返回值为x+2 if x>=0 then z:=x+1 else z:=x+2; //benben:=z; Result:=z; end; procedure douya(i:integer); begin if i>=0 then showmessage('x的值大于等于0') else showmessage('x的值小于0'); end; procedure TForm1.Button1Click(Sender: TObject); var i:integer; begin i:=benben(-10); //调用函数,把参数-10 Edit1.Text:=inttostr(i); douya(-10); end; 这里特别是第三点:函数的调用出现在表达式中?i:=benben(-10); //调用函数,把参数-10,这是一个语句不是表达式啊 第四点:过程没有返回值啊
温馨提示:答案为网友推荐,仅供参考