题目:编写一个函数reverse_string(char * string)(递归实现)
实现:将参数字符串中的字符反向排列。
要求:不能使用C函数库中的字符串操作函数。
实现思想
要实现字符逆序我们先将最后一个字符与第一个字符互换位置,然后逐个向里互换。例如将‘abcde’变成‘edcba’。
1.首先,我们要知道字符串的长度,这样才能知道最后一位字符的下标(即字符串长度减一)。
2.定义len获得字符串的长度,定义变量tmp用来存放第一个字符,再把空出来的第一个位置放最后一个字符,因为是递归思想,所以不能前后直接交换,此时需将空出来的最后一个字符位置放'\0'。
3.此时,需要找到递归的限制条件(出口),只需要知道余下的字符串是否有两个字符,调用my_strlen函数,此时从字符串的第二个字符开始计算长度。判断是否满足出口条件,接着第二个字符调用reverse_strin