算法思想
以字符串“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;
}