Skip to main content

How to Reverse a String in C without using C Reverse String function and using either Pointers or Recursive Function.

C Program to Reverse a String without using C Reverse String function (strrev() in string.h) and using either Pointers or Recursive Function is given below:-
1) C Example program to Reverse a String using pointers :

#include<stdio.h>
int strLength(char*); // user defined function declaration or function prototype
void strReverse(char*); // UDF declr or fun proto
main()
{
char str[100];
printf("Enter a String to be Reversed :");
gets(str); // using gets() instead of scanf() because scanf() does not take space char
strReverse(str); // function with argument as string variable str calls here
printf("Reverse of given String is \"%s\".\n", str);
return 0;
}
void strReverse(char *str) // strReverse() function defines here
{
int length, c;
char *begin, *end, temp;
length = strLength(str); // function strLength() calls here and which returns integer value to be stored in "length" variable.
begin = str;
end = str;
for ( c = 0 ; c < ( length - 1 ) ; c++ )
end++;
for ( c = 0 ; c < length/2 ; c++ )
{
temp = *end;
*end = *begin;
*begin = temp;
begin++;
end--;
}
}
int strLength(char *pointer) // strLength() function defines here, which returns an integer
{
int c = 0;
while( *(pointer+c) != '\0' )
c++;
return c;
}

2) C Example program to Reverse a String using Recursive Function ( function calls itself ) :

#include<stdio.h>
#include<string.h>
void strReverse(char*,int,int);
main()
{
char str[100];
printf("Enter a String to be Reversed :");
gets(str);
strReverse(str, 0, strlen(str)-1);
printf("Reverse of given String is \"%s\".\n", str);
return 0;
}
void strReverse(char *ch, int begin, int end)
{
char a, b, c;
if ( begin >= end )
return;
c = *(ch+begin);
*(ch+begin) = *(ch+end);
*(ch+end) = c;
strReverse(ch, ++begin, --end);
}

Popular posts from this blog

Binary to Decimal Conversion in C, C Program for Binary to Decimal

Binary to Decimal Conversion in C or C Program for Binary to Decimal Number? #include<stdio.h> #include<conio.h> void main() {         long int b_n,d_n=0,j=1,rem;     clrscr();     printf("Enter a binary number: ");     scanf("%ld",&b_n);     while(b_n!=0)    {         rem=b_n%10;                    d_n=d_n+rem*j;         j=j*2;         b_n=b_n/10;     }     printf("Equivalent decimal Number : %ld",d_n);     getch(); } Output: Enter a Binary Number : 101 Equivalent Decimal Number : 5

Swapping of Two Numbers in C or C Program to Swap Two Numbers

Swapping of Two Numbers in C or C Program to Swap Two Numbers or C program to Swap two numbers without using a third variable #include <stdio.h> #include <conio.h>  void main() {    int x, y, temp;    clrscr();    // to clear screen       printf("Enter the value of x and y\n");    scanf("%d%d", &x, &y);    printf("Before Swapping\nx = %d\ny = %d\n",x,y);    temp = x;    x    = y;    y    = temp;    /*       without using temp variable, this can be used    let x=4 and y=5    x = x + y ;   x=x+y => x=4+5 => x=9     y = x - y ;   y=x-y => y=9-5 => y=4  value changed    x = x - y ;   x=x-y => x=9-4 => x=5  value changed      */       printf("After Swapping\nx ...

C Program to find Prime Number using UDF, also find Prime Numbers upto a limit in C Language

C Program to find Prime Number using UDF, also find Prime Numbers upto a limit in C Language: Example 1 : C Program to find prime number using user defined function :- #include<stdio.h> #include<conio.h> int primeNumber(int); /* function declaration or prototype, int arg int returns */ void main() { int num,prime; clrscr(); printf("Enter an integer Number :"); scanf("%d",&num); prime = primeNumber(num); /* function call here with Actual Parameter num, rtns integer value and assigning to the var prime */ if(prime==1) printf("%d is a prime number",num); else printf("%d is not a prime number",num); getch(); } int primeNumber(int n) /* function definition with Formal Parameter n and returns an integer */ { int i; for( i=2 ; i<=n/2 ; i++) { if(n%i==0) return 0; } return 1; } /* prime number 3,7,11,17.... */ Example 2 : C Program to find prime num...