方法一
#include <stdio.h>
#include <string.h>
int main(void)
{
char a[100]={0};
gets(a);
int len=strlen(a);
char *p=a;
char c;
c=getchar();
int i,j;
for(i=0;i<len;i++)
{
if(*(p+i)==c)
{
for(j=i;j<len;j++)
{
*(p+j)=*(p+j+1); //后面的字符向前移动一位以覆盖指定的字符
}
i--; //当字符串中需要删除的字符挨在一起的情况时,指针往回指,继续删除
}
}
puts(a); //输出删除指定字符后的数组
return 0;
}
方法二
#include <stdio.h>
#include <string.h>
int main(void)
{
char a[32]={0};
gets(a);
char c;
c=getchar();
int len=strlen(a);
int i;
for(i=0;i<len;i++)
{
if(*(a+i)==c) //如果指针指向指定字符,则跳出本次循环进入下一次循环
{
continue;
}
putchar(*(a+i)); //打印指针指向的每一个字符,如果是指定字符,被跳出了则i不计入
}
putchar('\n');
return 0;
}