递归:需要限制条件,每次递归后,越来越接近限制条件,当满足限制条件时,函数不再递归。(大事化小,不断调用自身函数)
1.当输入n=123时,依次输出1,2,3。
![](https://img-blog.csdnimg.cn/img_convert/f828cc9266423f7afc5096eefefb2e28.png)
开始调用自身函数,n值改变,当达到限制条件后,再逆向输出。
![](https://img-blog.csdnimg.cn/img_convert/679be62034cd2e0e35772c96d09c4961.png)
2.此处使用模仿strlen()计算数组长度的例子:
注意数组传参数时,传过去的是第一个元素‘x’的地址;字符串“xdd”后省略了一个结束字符‘\0’;形参*p指向的是实参arr[ ]中的字符串。
![](https://img-blog.csdnimg.cn/img_convert/28d48a12d48001844227433f93d37e3d.png)
3.注意使用strlen()计算字符串长度时,遇到随机值的情况,如此处计算‘a’‘b’‘c’后,一直寻找结束字符‘\0’,而此处并未给出‘\0’,啥时候找到‘0’是随机的。
![](https://img-blog.csdnimg.cn/img_convert/88530991ad26bc32e7c474ac763fcdd9.png)
4.注意sizeof():计算数组所占空间大小,单位为字节,int类型为4byte,char类型为1byte,‘\0’为1byte。
![](https://img-blog.csdnimg.cn/img_convert/f3fa9c10a42eeb0e6fa9b2d6724aeea5.png)