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

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

【数组】

#include<stdio.h>
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<stdio.h>
#include<stdlib.h>//新的头文件,与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';
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值