子程式定義 3

2021-06-27 00:12:41 字數 496 閱讀 3682

遞迴呼叫:

子程式可以互相呼叫,當呼叫該子程式本身時,即成了遞迴子程式。

遞迴子程式有兩個條件:

1.除了不被子程式改變的變數外,所有的變數必須是區域性的

2.該子程式要含有停止呼叫本身的**。

遞迴程式編寫: 計算階乘: f(10)

1.寫出初始條件: f(1)=1;

2.寫出遞推通式: f(n)=n*f(n-1) 類似數學歸納法的假設部分

sub f

else

預定義的子程式:

perl 5預定義了三個字程式,分別在特定的時間執行,你可以自己定義它們,以在特定時間執行所需要的動作。

總結:一. 子程式的定義sub subname{}

二. 子程式返回值:最後乙個執行的語句值

三.引數傳遞: @_,$_[0],shift. 別名*[通配變數],引用\

四.區域性變數: my塊內可見。local 呼叫子程式也可見

子程式呼叫與巨集定義的異同 巨集與子程式的區別

巨集和子程式都是為了簡化源程式的編寫,提高程式的可維護性,但是它們二者之間存在著以下本質的區別 1 在源程式中,通過書寫巨集名來引用巨集,而子程式是通過 call 指令來呼叫 2 匯程式設計序對巨集通過巨集擴充套件來加入其定義體,巨集引用多少次,就相應擴充套件多少次,所以,引用巨集不會縮短目標程式 ...

12 子程式的高階特性3

講師 huangxifeng607 黃錫峰 筆記 1 sql security特性 delimiter create procedure testa sql security definer invoker begin declare aa int select sleep 30 into aa e...

子程式過載

子程式過載是指有一系列具有相同的子程式名稱,但有不同的型別和數目的引數的子程式,它們用於完成不同但相關的操作。在程式中呼叫某個過載的子程式時,編譯器將根據呼叫的子程式及其所使用的引數序列和數目來確定那個子程式將被執行。1.在編寫過載子程式時應注意各子程式的引數個數和引數型別的差異,否則編譯器將不能正...