什麼是遞歸
函數調用是通過棧實作的,在調用函數時,系統會将被調用函數所需要的程式空間安排在一個棧中,每當調用一個函數時,就在棧頂為他配置設定一個存儲區,每當一個函數退出時就釋放他的存儲區,也就是說,目前正在運作的函數的存儲區是在棧頂的。因為棧是先進後出的,是以當有多個函數嵌套調用時,會按照先調用後傳回的原則進行運作。
遞歸也是一種函數調用,隻不過是函數自己調用自己,是一種特殊的函數調用。這時有說,函數自己調用自己,
#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;
}
}