C program to reverse a string; Through this tutorial, we will learn how to reverse a string in a c program using for loop, function, and pointer.
Programs and Algorithm to Reverse a String in C
- C program to Reverse a String using For Loop
- C program to Reverse a String using Function
- C program to Reverse a String using Pointer
Algorithm to Reverse a String
Use the following algorithm to write a program to reverse a string; as follows:
- Start
- Declare all the variables ( integer and character type )
- Enter the string to be reversed
- Find out the length of string
- Swap the position of array element using loop
- Store the swapped position
- Print the reversed string as console output
- Stop
C program to Reverse a String using For Loop
#include <stdio.h> #include <string.h> int main() { char Str[100], RevStr[100]; int i, j, len; printf("\n Please Enter any String : "); gets(Str); j = 0; len = strlen(Str); for (i = len - 1; i >= 0; i--) { RevStr[j++] = Str[i]; } RevStr[i] = '#include <stdio.h> #include <string.h> int main() { char Str[100], RevStr[100]; int i, j, len; printf("\n Please Enter any String : "); gets(Str); j = 0; len = strlen(Str); for (i = len - 1; i >= 0; i--) { RevStr[j++] = Str[i]; } RevStr[i] = '\0'; printf("\n String after Reversing = %s", RevStr); return 0; }'; printf("\n String after Reversing = %s", RevStr); return 0; }
The output of the above c program; as follows:
Please Enter any String : hello String after Reversing = olleh
C program to Reverse a String using Function
#include <stdio.h> #include <string.h> void reverse_String(char [], int, int); int main() { char Str[100], temp; int i, j, len; printf("\n Please Enter string : "); gets(Str); len = strlen(Str); reverse_String(Str, 0, len -1); printf("\n After Reversing = %s", Str); return 0; } void reverse_String(char Str[], int i, int len) { char temp; temp = Str[i]; Str[i] = Str[len - i]; Str[len - i] = temp; if (i == len/2) { return; } reverse_String(Str, i + 1, len); }
The output of the above c program; as follows:
Please Enter string : function After Reversing = noitcnuf
C program to Reverse a String using Pointer
#include <stdio.h> #include <string.h> char* reverse_String(char *Str) { static int i = 0; static char RevStr[10]; if(*Str) { reverse_String(Str + 1); RevStr[i++] = *Str; } return RevStr; } int main() { char Str[100], temp; int i, j, len; printf("\n Please Enter String : "); gets(Str); printf("\n Result = %s", reverse_String(Str)); return 0; }
The output of the above c program; as follows:
Please Enter String : wow Result = wow