亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請問關于procedure和function的區別?

請問關于procedure和function的區別?

慕妹3242003 2019-07-09 17:06:47
procedure和function的區別
查看完整描述

4 回答

?
米脂

TA貢獻1836條經驗 獲得超3個贊

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使用)

查看完整回答
反對 回復 2019-07-14
?
慕容森

TA貢獻1853條經驗 獲得超18個贊

其實 過程-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.

查看完整回答
反對 回復 2019-07-14
?
慕斯709654

TA貢獻1840條經驗 獲得超5個贊

package 是包 和JAVA包一個概念 分包頭和包體 包頭中創建procedure(存儲過程)
包體中將存儲過程實現 存儲過程就是你預先定義好的一些數據操作語句 function是函數是對數據庫中一些數據的處理 和JAVA中的方法有點像

查看完整回答
反對 回復 2019-07-14
  • 4 回答
  • 0 關注
  • 1862 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號