C program to Reverse a Sentence Using Recursion

In this example, you will learn to take a sentence from the user and reverse it using recursion.

To understand this example, you should have the knowledge of the following C programming topics:

Reverse a sentence using recursion

#include <stdio.h>
void reverseSentence();
int main() {
    printf("Enter a sentence: ");
    reverseSentence();
    return 0;
}

void reverseSentence() {
    char c;
    scanf("%c", &c);
    if (c != '\n') {
        reverseSentence();
        printf("%c", c);
    }
}

Output

Enter a sentence: margorp emosewa
awesome program

This program first prints Enter a sentence: . Then, immediately reverseSentence() is called.

This function stores the first letter entered by the user in c. If the variable is any character other than \n (enter character), reverseSentence() is called again.

This process goes on until the user enters \n.

When the user finally enters \n, the last reverseSentence() function prints the last character. It is because of printf("%c", c);. Then it returns to the second last reverseSentence().

This process goes on and the final output will be the reversed sentence.