C语言函数实现字符串翻转

帮忙解释一下为什么这一串代码可以实现字符串的翻转
主要是不懂为什么嵌套函数之后他就翻转了

img

这就是栈的原理。递归时先输入,后输出。每次递归接收一个字符,但不输出,直到接收到换行符,然后再输出,函数递归就是个栈,先进后出,所以输出就是输入的倒置