我想問(wèn)一下這倆個(gè)問(wèn)題都是怎么跳出遞歸函數(shù)循環(huán)的?。?/h1>
#include<stdio.h>
int getAge(int n)
{
?int age;
?if(n==1)
?age=10;
?else
?{
??age=getAge(n-1)+2;
?}
?return age;
}
int main()
{??
?printf("第5個(gè)人的年齡是%d歲",getAge(5));
}
#include<stdio.h>
int getAge(int n)
{
?int age;
?if(n==1)
?age=10;
?else
?{
??age=getAge(n-1)+2;
?}
?return age;
}
int main()
{??
?printf("第5個(gè)人的年齡是%d歲",getAge(5));
}
2020-03-30
遞歸調(diào)用時(shí)參數(shù)是n-1,當(dāng)n減小到n=1時(shí),age=10,然后在循環(huán)帶回去,就可以返回一個(gè)age的總和,這個(gè)時(shí)候return age就跳出了循環(huán)。例如getAge(3) = getAge(2)+2,getAge(2) = getAge(1) + 2;此時(shí)getAge(1) = 10
所以結(jié)果為:10+2+2=14;