w3resource logo


C Programming Exercises

C Exercises: Get reverse of a string

Secondary Nav

C Recursion : Exercise-9 with Solution

Write a program in C to reverse a string using recursion.
Test Data :
Input any string: w3resource
Expected Output :

The reversed string is: ecruoser3w 

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;
}

Flowchart :

Flowchart: Get reverse of a string.

-->

C Practice online:

#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.



Join our Question Answer community to learn and share your programming knowledge.

Help the community:

Python: Fizzbuzz

C++: Decimal to binary conversion

JavaScript: Need Help in JavaScript

Python: Help me with this program