开始这个递归函数是怎么运算的,求解释,putchar(n%10+'0')这语句话怎么执行的,假如我输258,是不是先输出258%10=8 ?不太懂,能详细解释下吗
它如何从当前层跳到上一层的?
追答一个函数执行完了,就返回调用者啊。
比如:
fun()
{
//所要执行的操作
}
main()
{
//第一步
fun();
//第二步
}
程序从main函数开始,首先执行第一步,然后调用fun()函数,当fun()函数执行完之后,自动返回调用者,也就是main函数。紧接着,main函数继续执行,第二步。
递归也是这样。递归是自己调用自己,但你也可以看做是多个函数嵌套调用,只不过这多个函数的函数名和函数体是一样的