1)不利用指针:
#include<stdio.h>
#include<string.h>
int main()
{
char a[80];
int i,j;
printf("请输入一行字符串:\n");
gets(a);
printf("输入要删除的字符:\n");
j=getchar();
//printf("%d\n",j);
//j的的输出结果是ASCII码值
//此处若用 scanf() 语句,j的输出结果就是字符,后面比较是不是相等的时候比较不出来
printf("删除后的结果:\n");
for(i=0;i<strlen(a);i++)
{
if(a[i]!=j)
printf("%c",a[i]);
}
printf("\n");
return 0;
}
运行结果👇👇
2)利用指针:
#include<stdio.h>
void dele(char *p,char ch)
{
char *q=p;
for(;*p!='\0';p++)//'\0'检测字符串的长度
if(*p!=ch)
*q++=*p;
*q='\0';
}
int main()
{
char str[80],*pf,ch;
printf("请输入一个字符串:\n");
gets(str);
pf=str;
printf("输入要删除的字符:\n");
ch=getchar();
dele(pf,ch); //调用dele函数来实现删除
printf("删除后的结果:\n");
printf("%s\n",str);
return 0;
}
运行结果👇👇