1. 程式人生 > >【小練習】迴圈、遞迴與概率:遞迴

【小練習】迴圈、遞迴與概率:遞迴

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主函式

2.2執行結果

遞迴1