【小練習】迴圈、遞迴與概率:遞迴
阿新 • • 發佈:2018-12-13
1.練習程式碼
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
using namespace std;
void up_and_down(int);
int _tmain(int argc, _TCHAR* argv[])
{
up_and_down(1);
return 0;
}
void up_and_down(int n)
{
printf("Level %d: n location %p\n", n, &n);
if (n < 4)
up_and_down(n+1 );
printf("Level %d: n location %p\n", n, &n);
}
2.關鍵點分析
2.1遞迴過程
第一級遞迴:列印Level1,1<4,進入第二級遞迴 第二級遞迴:列印Level2,2<4,進入第三級遞迴 第三級遞迴:列印Level3,3<4,進入第四級遞迴 第四級遞迴:列印Level4,4<4為假,再列印一次Level4後,函式執行完畢,控制權返回第三級遞迴 第三級遞迴繼續執行:列印Level3,函式執行完畢,控制權返回第二級遞迴 第二級遞迴繼續執行:列印Level2,函式執行完畢,控制權返回第一級遞迴 第一級遞迴繼續執行:列印Level1,函式執行完畢,控制權返回main主函式