We can reverse a string in two different ways (1) using a second character array or string (2) without using a second character array or string.
Read a string from user using gets () function. Now travel the whole string from the end in front and store each character in a another string. Now terminate the new string with a null character ('\0').
#include <stdio.h> #include <string.h> #include <conio.h> int main() { char str[30],rev[30]; int j,i,l; printf("Enter A String: "); gets(str); l=strlen(str); for(i=0,j=l-1;j>=0;i++,j--) { rev[i]=str[j]; } rev[i]='\0'; printf("Reverse String Is "); puts(rev); return 0; }
Read a string from user using gets () function. Now travel the string from the both sides of the string and exchange the corresponding characters until the position of both sides equal or overlapping.
#include <stdio.h> #include <string.h> #include <conio.h> int main() { char str[30],ch; int j,i,l; printf("Enter A String: "); gets(str); l=strlen(str); for(i=0,j=l-1;i<j;i++,j--) { ch=str[i]; str[i]=str[j]; str[j]=ch; } printf("Reverse String Is "); puts(str); return 0; }