0
A
回答
1
void recursive(int* data)
{
//TODO: do something useful, for now just increment by one;
*data+=1;
if (*data>99)
{
return;
}
else
{
recursive(data);
}
}
+2
該函數將**從不**返回,並且會陷入無限循環,因爲函數中沒有任何**破壞**條件。 – Lion 2011-12-30 16:09:20
2
雖然是從你的問題未清除的,可以同時使用遞歸功能明顯傳遞從以前的調用函數參數(S)。
遞歸是在自相似的方式重複項的過程。對於 實例,當兩個鏡子的表面與 彼此完全平行時,出現的嵌套圖像是遞歸的無限形式。該術語具有各種各樣的涵義,從語言學到邏輯學各種各樣的專業。遞歸最常見的應用是數學和計算機科學,其中涉及定義函數的方法,其中定義的函數被應用在其自己的定義中。 具體而言,這使用有限表達式來定義無限數量的實例(函數 值),對於某些實例,該有限表達式可以將 引用到其他實例,但是以這樣的方式不會發生引用的循環或無限鏈條 。該術語還更一般地用於描述以自相似的方式重複對象的過程。
例子
•河內
的塔•編寫鏈表向後
•遞歸插入
•8皇后
•認識簡單的語言
•前綴表達式
•轉換前綴後綴
該遞歸計算一個數的階乘簡單的例子。
unsigned int factorial(unsigned int n)
{
if (n <= 1)
return 1;
else
return n * factorial(n-1);
}
函數遞歸調用自己的輸入的較小版本(N - 1)和用n乘以遞歸調用的結果,直至達到基體的情況下,類似的階乘的數學定義。
在使用遞歸函數時,您總是需要通過在函數中強加一些機制(如if
條件)來明確地中斷該函數,否則調用將永遠不會返回。
相關問題
- 1. 遞增一個參數和遞歸
- 2. C#的Process.Start傳遞參數遞歸
- 3. 如何在導航到前一個屏幕時傳遞參數?
- 4. 如何在參數中傳遞參數
- 5. Scala - 在遞歸函數中匹配傳遞的參數類型
- 6. 如何傳遞參數傳遞給另一個方法?
- 7. 在addeventlistener中傳遞一個參數 - javascript
- 8. NSURL傳遞一個參數
- 9. 具有可變數量參數的遞歸函數 - 如何傳遞左參數?
- 10. 在一個函數中傳遞一個參數在另一個函數中被「參考」傳遞
- 11. 在遞歸PowerShell腳本中傳遞參數
- 12. 在遞歸中傳遞對象參數有效嗎?
- 13. 遞歸函數得到一個參數
- 14. 如何在參數中傳遞數組
- 15. 如何在函數中傳遞參數?
- 16. Java遞歸按值傳遞/參考
- 17. 遞歸函數在參數不爲NULL時傳遞NULL指針
- 18. sizeof()如何在傳遞引用參數中傳遞
- 19. 通過傳遞一個列表在Python中遞歸調用一個函數
- 20. 傳遞函數作爲參數傳遞給另一個函數
- 21. 如何在@selector中傳遞參數?
- 22. 如何在Angularjs中傳遞參數$ http.post
- 23. 如何在Scite中傳遞參數?
- 24. 如何在php webservice中傳遞參數?
- 25. 如何在控件中傳遞參數?
- 26. 我如何在angularjs中傳遞參數?
- 27. 如何在UriTemplate中傳遞DateTime參數?
- 28. 如何在php exec()中傳遞參數?
- 29. 如何在Django中傳遞參數值?
- 30. 如何在Crystal Reports中傳遞參數?
你能舉個例子說明你想要達到的目標嗎? – 2011-12-30 15:21:58
你需要發表一些代表你的意思的實際東西。 – Lion 2011-12-30 15:22:29
你是什麼意思?你能給個例子嗎?遞歸通常要求你傳遞前一個函數的參數。 – 2011-12-30 15:22:30