c语言从字符串s中删除字符c:
#include
voidsqueeze(char[],char);
intmain()
{
chars[]="hdsjalfh";
charc;//保存需要删除的字符
printf("请输入需要删除的字符:");
c=getchar();
squeeze(s,c);
printf("%s\n",s);
return0;
}
voidsqueeze(chars[],charc)
{
inti=0,j=0;
while(s[i]!='\0'){
if(s[i]!=c){
s[j++]=s[i];
}
i++;
}
s[j]='\0';
}
扩展资料
设置两个指向字符的指针变量t和f。先使用循环语句让t指针指向字符串中最后一个字符,而f指针指向字符串中第一个字符。
再判断t和f指向的字符是否为“*”,如果为“*”,则t指针自减,f指针自增,直到遇到第一个不是的字符为止。再定义一个函数fun()用于删除字符串中的“*”号,同时保留字符串前后的“*”号。
#include
intfun(char*a,char*h,char*p)
{
inti,j;
for(i=0,j=0;&h[i]
if(h[i]!='*')
h[j++]=h[i];
for(i=0;p[i];i++,j++)
h[j]=p[i];
h[j]='\0';
return0;
}
intmain()
{
chars[81],*t,*f;
printf("Enterastring:\n");
gets(s);
t=f=s;
while(*t)
t++;
t--;
while(*t=='*')
t--;
while(*f=='*')
f++;
fun(s,f,t);
printf("Thestringafterdeleted:\n");
puts(s);
return0;
}
参考资料来源:百度百科—c语言