以' * '号为例,
方法①用另一个相同大小的数组来存储和做最后的输出
#include<stdio.h>
int main(){
char s1[81],s2[81];
int i,j;
printf("enter:\n");
gets(s1);
j=0;
for(i=0;s1[i]!='\0';i++){
if(s1[i]=='*')
continue;
else
s2[j++]=s1[i];
}
s2[j]='\0';
printf("After delete:\n");
puts(s2);
return 0;
}
方法②使用指针在原数组中删除
#include<stdio.h>
int main(){
char s1[81];
printf("enter:\n");
gets(s1);
for(char *str=s1;*str;str++){
if(*str=='*') {
for(char *t =str;*t;t++)
*t=*(t+1);
--str;
}
}
printf("After delete:\n");
puts(s1);
return 0;
}