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
/* Recursive function to reverse the given string */
void reverse(char *s)
{
    /* If the end of the string is reached, return */
  if(*s=='\0')
   return;
    /* Call the function recursively , skipping a character every time the function is called */
  reverse((s+1));
    /* Print the character from the recursive stack */
  printf("%c",*s);
}
/* Main function */
int main(void) {
   char *s;
    /* Dynamically allocate the memory to get the input string */
  s=(char*)malloc(sizeof(char)*MAX);
    /* Get the input string from the user */
  scanf("%s",s);
    /* Recursively call the function to print the reverse of the string */
  reverse(s);
   return 0;
}