輸入參數相當於函數而言,相當於已經賦值了的變量,直接可用
輸出參數相當於定義一個沒有值的變量,在函數中進行賦值,然後調用函數的時候將賦值帶出函數
例:
public void shuchu(int a, out int b) { b = a + 10; //b必須賦值 }
主函數裡面的寫法:
static void Main(string[] args) { int a = 11,b; Program p = new Program(); p.shuchu(a,out b);//b需要先定義好,對應函數的數據類型,用於接收傳遞出來的數據 Console.WriteLine(b);//21 }
練習:用輸出參數寫一元二次方程求解的方法(返回是否有解,和x1,x2的值)
一、概念:
函數體內調用本函數自身,直到符合某一條件不再繼續調用。
**簡單說就是讓函數先執行到滿足條件的那一步,然後帶著數據開始調用函數本身。
二、應滿足條件:
(1)有反復執行的過程(調用自身);
(2)有跳出反復執行過程的條件(函數出口)
三、例子
階乘的計算n!= n*(n-1)*(n-2)*(n-3)*……*1(n>0)
四、注意事項notice:
1、遞歸中必須要存在一個循環結束的條件。
2、遞歸函數的每次調用都需要棧來存儲,如果次數太多的話容易造成棧溢出。
練習:
1、n個桃,每過一天吃1/2+1個,7天後剩一個,原來有幾個桃?
2、一個人趕一群羊去賣,每過一個村子賣出1/3+1只,7個村子後還剩2只,原來有幾只羊?