Reverse the string using recursion without swapping characters in the input string (using double pointer)

Given a string, reverse the string recursively calling the reverse function without swapping the characters of the string


#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define MAX 256
int i=0; //Global Variable to have a counter variable in static context
void reverse(char **s)
{
 /* Until the end of the string ('\0' , the null character) is reached */
  if(**s=='\0')

   return;

    /* Increment the Address the pointer is pointing to */
  *s=*s+1;

    /* Call recursively for the rest of the string */
  reverse(s);

   i++;

    /* Print the characters in reverse */
    printf("%c",*(*s-i));
} 

int main(void) {

   char *s;

    /* Dynamically allocate the memory for the input string */
  s=(char*)malloc(sizeof(char)*MAX);

    /* Get the input string from the user */
  scanf("%s",s);

    /* Call the recursive function to reverse the string */
  reverse(&s);

   return 0;
}