To understand this example, you should have the knowledge of the following C programming topics:
#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.