函数递归没搞懂,麻烦牛人详细解答。
题目:6 有5个学生坐在一起问第5个学生多少岁?他说比第4个学生大2岁
问第4个学生岁数,他说比第3个学生大2岁
问第3个学生,又说比第2个学生大2岁
问第2个学生,说比第1个学生大2岁
最后问第1个学生,他说是10岁
请问第5个学生多大。
程序代码:
#include <stdio.h>
int main()
{ int age(int n);
printf("NO.5,age:%d\n",age(5));
return 0;
}
int age(int n)
{ int c;
if(n==1) c=10;
else c=age(n-1)+2;
return(c);
}
题目很简单,但是就是函数递归这个没有搞懂。
程序代码是从ppt上复制下来的,可能有部分格式不正确,比如双引号和单引号,主要想问的是这个递归函数怎么实现的,流程是什么。PPT上有解答,但是我还是弄不太明白,可能回答比较繁琐,麻烦了。