Exercise 4-13. Write a recursive version of the function reverse(s), which reverses the string s in place.
#include
#include
void switchchar(char s[], int i, int j)
{
char tmp;
tmp = s[i];
s[i] = s[j];
s[j] = tmp;
}
void reverse(char s[])
{
static int i = 0;
static int len = 0;
if(i == 0)
{
len = strlen(s) - 1;
}
switchchar(s, i, (len - i));
i++;
if(i <= (len / 2))
{
reverse(s);
}
}
int main()
{
char str[] = "ABCDEF123456";
reverse(str);
printf("%sn", str);
return 0;
}