天天看點

函數的遞歸調用

什麼是遞歸

函數調用是通過棧實作的,在調用函數時,系統會将被調用函數所需要的程式空間安排在一個棧中,每當調用一個函數時,就在棧頂為他配置設定一個存儲區,每當一個函數退出時就釋放他的存儲區,也就是說,目前正在運作的函數的存儲區是在棧頂的。因為棧是先進後出的,是以當有多個函數嵌套調用時,會按照先調用後傳回的原則進行運作。

遞歸也是一種函數調用,隻不過是函數自己調用自己,是一種特殊的函數調用。這時有說,函數自己調用自己,

#include<stdio.h>
void Func(int);
int main(void)
{
	int n;
	printf("想輸出幾個我愛你:");
	scanf("%d", &n);
	Func(n);
	return 0;
}
void Func(int n)
{
	if(n>0)
	{
		printf("我愛你\n");
		Func(n-1);
	}
	else
	{
		return;
	}
}
           

使用遞歸必須要滿足的兩個條件

繼續閱讀