Перевернуть строку с помощью рекурсивной функции

В настоящее время я изучаю C и не могу пройти это упражнение. Я должен создать рекурсивную функцию для обратногоstring1 вstring2, Вот мой код Буду рад вашей помощи.

#include <stdio.h>
#define MAX 100

void reverse(char s1[],char s2[],int n,int j);

int main()
{
    char string1[MAX]="How Are You Mate";
    char string2[MAX]="";
    int n=0;
    int i=0;
    int j=0;

    for(i=0;string1[i]!='\0';i++)
        n++;
    reverse(string1,string2,n,j);
    printf("String-a normal:\n%s\n",string1);
    printf("String-a reverse:\n%s\n",string2);
    return 0;
}

void reverse(char s1[],char s2[],int n,int j)
{
     if(n>0)
     {
            s2[j]=s1[n];
            reverse(s1,s2,n-1,j+1);
     }
     else
            s2[j]='\0';
}

Ответы на вопрос(5)

Ваш ответ на вопрос