Self-defined function using pointers(Selfrev())
Important Question:
C program using pointers, write a user defined function named “selfrev()” to reverse the string?
Example:
1.
n=”HELLO”
Output:
OLLEH
2.
n=”computer”
Output:
retupmoc
#include<stdio.h>
#include<string.h>
void selfrev(char *p)
{
int len, i;
char *b_ptr, *e_ptr, t;
/*
b_ptr: pointer to the first character
e_ptr: pointer to the end character
*/
len = strlen(p);
// pointer variables b_ptr and e_ptr are initilized by p
b_ptr = p;
e_ptr = p;
// Make sure that e_ptr points to the last character
//of the string
for (i=0;i<len-1;i++)
e_ptr++;
// Now we have to Swap the char from start and end
for (i=0;i<len/2;i++)
{
t = *e_ptr;
*e_ptr = *b_ptr;
*b_ptr = t;
b_ptr++;
e_ptr--;
}
}
int main()
{
char n[20];
printf("Enter any string ");
gets(n);
selfrev(n);
printf("String in reverse is %s\n",n);
return(0);
}
Output:
Enter any string Computer
String in reverse is retupmoC
Enter any string hello
String in reverse is olleh




