你用的是递归法:一个递归函数包括两个基本要素:
一.基本条件,对应着初值;
二.一般条件,对应着递推式。
基本条件控制递归调用结束;一般条件控制递归调用向基本条件转化。
该题中基本条件:age=10; n==1时。
n==1时,return 10; 这是递归的出口,return 不能返回没有具体值得变量。
定义一个int 变量m 当然也可是其他n或i等。
改为下面应该可以:
#include <stdio.h>
int age(int n)
{
int m;
if(n==1)
return 10;
else
m=age(n-1)+2;
return m;
}
int main()
{
printf("第5个人的年龄是%d岁", age(5));
return 0;
}
运行结果如下:
第5个人的年龄是18岁
-------------------------------
rocess exited with return value 0
ress any key to continue . . .