Reverse a String using Pointers


/*
Write a program in C for reverse a string using pointers
*/
 
#include<stdio.h>

int string_length(char*);
void reverse(char*);

main()
{
char string[100];

printf("Enter a string\n");
gets(string);

reverse(string);

printf("Reverse of entered string is \"%s\".\n", string);

return 0;
}

void reverse(char *string)
{
int length, c;
char *begin, *end, temp;

length = string_length(string);

begin = string;
end = string;

for ( c = 0 ; c < ( length - 1 ) ; c++ )
end++;

for ( c = 0 ; c < length/2 ; c++ )
{
temp = *end;
*end = *begin;
*begin = temp;

begin++;
end--;
}
}

int string_length(char *pointer)
{
int c = 0;

while( *(pointer+c) != '\0' )
c++;

return c;
}

Post a Comment

0 Comments