Write a C program to reverse a string using recursive functions or recursion. In this string example, the stringReverse function accepts the pointer and reverses the character array by calling the function recursively.
#include <stdio.h> #include <string.h> void stringReverse(char *Str) { if(*Str) { stringReverse(Str + 1); printf("%c", *Str); } } int main() { char Str[100]; printf("Please Enter any String to Reverse = "); fgets(Str, sizeof Str, stdin); printf("\nString after Reversing = "); stringReverse(Str); printf("\n"); }
This c program uses the temp variable, recursive functions (recursion), and pointers to reverse a given string.
#include <stdio.h> #include <string.h> void stringReverse(char *Str, int i, int len) { char temp; if (i >= len) { return; } temp = *(Str + i); *(Str + i) = *(Str + len); *(Str + len) = temp; stringReverse(Str, ++i, --len); } int main() { char Str[100]; printf("\nPlease Enter any Text = "); fgets(Str, sizeof Str, stdin); stringReverse(Str, 0, strlen(Str) -1); printf("\nResult = %s\n", Str); return 0; }
Please Enter any Text = hello c programmers
Result =
sremmargorp c olleh
It is another example to reverse a string using recursion.
#include <stdio.h> void stringReverse() { char ch; scanf("%c", &ch); if(ch != '\n') { stringReverse(); printf("%c", ch); } } int main() { printf("Please Enter any Text = "); stringReverse(); printf("\n"); }
Please Enter any Text = c examples
selpmaxe c