算法思想
以字符串“abcdef”为例
1.将a保存到temp中
2.将f放到a的位置
3.f处填写‘\0’
4.计算bcde的长度
5.如果bcde的长度大于1,则逆序
6.将a放到f的位置
#include <stdio.h>
#include<string.h>
int my_strlen(char* str)
{char* start = str;char* end = str;while (*end != '\0'){end++;}return end - start;
}
void string_reverse(char arr[])
{char temp = arr[0];int n = my_strlen(arr);arr[0] = arr[n - 1];arr[n - 1] = '\0';int m = my_strlen(arr+1);if (m > 1){string_reverse(arr + 1);}arr[n - 1] = temp;}
int main()
{char arr[20] = { 0 };scanf("%s", arr);string_reverse(arr);printf("%s", arr);return 0;
}