【C语言】用字符数组与字符指针实现在字符串中删除特定字符

分别用字符数组与字符指针作函数,用两种方法编程实现,在字符串中删除特定字符

【数组】

#include
void Find(char str[],char a);
int main()
{
	char str[20],ch;
	printf("please input the string:\n");
	gets(str);
	printf("input a character:");
	ch=getchar();
	Find(str,ch);
	printf("result:%s",str);
	return 0;
}
void Find(char str[],char a)
{
	int i,j=0;
	for(i=0;str[i]!='\0';i++)
	{
		if(str[i]!=a)
		{
			str[j]=str[i];
			j++;
		}
	}
	str[j]='\0';//在数组j中,必须要加'\0',不然只是字符,而非字符串 
}

【指针】

#include
#include//新的头文件,与strcpy函数对应 
void Find(char *a,char b);
int main()
{
	char str[20],ch;
	printf("please input the string:\n");
	gets(str);
	printf("input a character:");
	ch=getchar();
	Find(str,ch);
	printf("result:%s",str);
	return 0;
}
void Find(char *a,char b)
{
    char  str[40];
    char *t=str;
    strcpy(t,a);//t的容量要足够大
	for(;*t!='\0';t++)//t在前面已经赋值了str的首地址,所以可以不写 
	{
		if(*t!=b)
		{
			*a=*t;
			a++;
		}
	 } 
	 *a='\0';
}

你可能感兴趣的:(C语言,c语言,开发语言,青少年编程,学习方法)