递归函数,用反向输出字符串例子来理解递归函数。

递归函数有一个特点:递推然后回溯。

反向输出字符串这个例子就很好体现了递归的性质:

键盘输入asdfg,(由于内存缓冲区)递归函数拿getchar()读取字符,然后输出,就会得到gfdsa.

我们使函数实现,设读取5个字符

进入函数f(5)>>>>执行getchar(),f(4),putchar().

f(4)>>>>getchar, f(3),putchar().

f(3)>>>>getchar,f(2),putchar()

f(2)>>>>getchar,f(1),putchar()

f(1)>>>>getchar,putchar.

直到f1执行完,返回到f2,f2执行完返回f3。。。

所以a是最先读取的,但由于中间有f4,f3,f2,f1,执行完后,返回f5的putchar语句。输出a

c是局部变量,函数间的c不会相互影响。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值