﻿ C exercises: Get reverse of a string - w3resource

# C Exercises: Get reverse of a string

## C Recursion : Exercise-9 with Solution

Write a program in C to reverse a string using recursion.

Sample Solution:

C Code:

``````#include<stdio.h>
#define MAX 100
char* ReverseOfString(char[]);

int main()
{

char str1[MAX],*revstr;
printf("\n\n Recursion : Get reverse of a string :\n");
printf("------------------------------------------\n");

printf(" Input any string: ");
scanf("%s",str1);

revstr = ReverseOfString(str1);//call the function ReverseOfString

printf(" The reversed string is: %s\n\n",revstr);
return 0;
}
char* ReverseOfString(char str1[])
{
static int i=0;
static char revstr[MAX];
if(*str1)
{
ReverseOfString(str1+1);//calling the function ReverseOfString itself
revstr[i++] = *str1;
}
return revstr;
}
```
```

Sample Output:

``` Recursion : Get reverse of a string :
------------------------------------------
Input any string: w3resource
The reversed string is: ecruoser3w
```

Flowchart:

C Programming Code Editor:

```#include<stdio.h>
#define MAX 100
char* ReverseOfString(char[]);

int main()
{

char str1[MAX],*revstr;
printf("\n\n Recursion : Get reverse of a string :\n");
printf("------------------------------------------\n");

printf(" Input any string: ");
scanf("%s",str1);

revstr = ReverseOfString(str1);//call the function ReverseOfString

printf(" The reversed string is: %s\n\n",revstr);
return 0;
}
char* ReverseOfString(char str1[])
{
static int i=0;
static char revstr[MAX];
if(*str1)
{
ReverseOfString(str1+1);//calling the function ReverseOfString itself
revstr[i++] = *str1;
}
return revstr;
}```

Improve this sample solution and post your code through Disqus.