请设计递归函数void reverse(char *s, int len), 其功能为逆置长度为len的字符串。例如,若串s的内容为“abcd”,则逆置后其内容变为“dcba”。
//请设计递归函数void reverse(char *s, int len),
//其功能为逆置长度为len的字符串。
//例如,若串s的内容为“abcd”,则逆置后其内容变为“dcba”。
#include<stdio.h>
#include<string.h>
void reverse(char* arr, int len)
{
if (len <= 1)
{
return;
}
int tmp = *(arr);
*(arr) = *(arr+len-1);
*(arr + len - 1) = tmp;
reverse((arr + 1), (len-2));
}
int main()
{
char arr[] = "abcd";
int len = strlen(arr);
printf("%s\n", arr);
reverse(arr, len);
printf("%s\n", arr);
return 0;
}