e.g.
my string is "hello"
and i want to delete 'l'
so my abnswer will be : "heo"
Write c program to delete one character from string without using string handling built in function of c?
Here it is. Rewrite as you wish:
void Remove(char *p, char ch)
{
char *temp;
temp=p;
while (*temp!=NULL)
{
if (*temp==ch){
while (*temp!=NULL){
*temp=*(temp+1);
if (*temp!=NULL) temp++;
} /*end while*/
temp=p;
} /* end if*/
temp++;
}/*end while*/
} /*end Remove*/
EDIT: C passes everything by value (that is it creates a new variable it copies the contents of parameters into) EXCEPT arrays. It creates pointers to arrays. Thus, in this program the calling function I used is:
int main()
{
/* Declarations*/
char Array[50], ch;
printf("Enter a string:");
gets(Array);
printf("Enter a character to remove:");
ch=getc(stdin);
printf("Your string is:\n%s\n", Array);
Remove(Array, ch);
printf("Your string is:\n%s\n", Array);
return 0;
}
You can send it the name of the array or you can send it %26amp;array[0] or whatever you like.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment