c语言递归函数

#include <stdio.h>
int main(){
	int age(int n);
	printf("No5 age is:%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;
}

首先执行main函数里面的age(5),通过5这个实参传递到age函数int age(int n)中的形参去,age函数的形参先是5,然后去执行下面的语句,n不等于1时去执行c=age(n-1)+2,age(n-1)是调用前一个函数的意思,现在age(5-1)就是执行age(4)这个函数,然后age(4)n不等于1,执行age(4-1),然后又调age(3)这个函数,直到age(1)里面的参数为1时则退出这个回溯,然后还没有结束,还需要进行递推,这样age(2)函数就是等于age(2-1)+2,而age(1)等于10,所以age(2)等于10+2等于12,然后一直推出到age(5-1)+1去就可以算出最后结果18!
请添加图片描述
请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值