删除字符串中指定的*

女生的网名这么多〃 提交于 2019-11-27 19:02:53
    假定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:除了尾部的*号之外,将字符中的其它的*号全部删除。
    形参p已指向字符串中最后的一个字母。在编写函数时,不得使用C语言提供的字符串函数。
#include<stdio.h>
void fun(char a[],char *p)
{
	char ch=*p;
	p=a;				//将p指向a
	while(*a!=ch)		//遍历a至最后一个字母,如果不是*就赋值给p
	{
		if(*a!='*')
		{
			*p++=*a;
		}
		a++;
	}	
	while(*a!='\0')		//将剩余的值赋给p
	{
		*p++=*a++;
	}
	a=p;
	*(a++)='\0';	//将a的最后字符置'\0'
}
void main()
{
	char s[81],*p;
	p=s;
	printf("please input a string:");
	gets(s);
	while(*p!='\0')p++;
	p--;
	while(*p=='*')p--;		//将p指针指向最后一个字母
	fun(s,p);
	for(int i=0;s[i]!='\0';i++)
		printf("%c",s[i]);
	printf("\n");
}

  

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!