C语言删除字符串中指定字符

编程实现:从键盘输入一个字符串及一个待删除字符,将该字符串中的所有待删除字符删掉(删除时不区分大小写),要求:(1)在main函数中输入字符串及待删除字符(2)在自定义函... 编程实现:从键盘输入一个字符串及一个待删除字符,将该字符串中的所有待删除字符删掉(删除时不区分大小写),要求:
(1)在main函数中输入字符串及待删除字符
(2)在自定义函数中实现删除字符的功能
(3)在main函数中输出删除后的结果
#include<stdio.h>

#include<string.h>
void delete(char *s,char c)
{int i,j;
for(i=0;s[i]!='\0';)
{if(strcmp(s[i],c)==0)
for(j=i;s[j]!='\0';j++)
s[j]=s[j+1];
else i++; }
return;}
void main()
{char s[80];
char c;
gets(s);
getchar();
c=getchar();
delete(s,c);
puts(s);}
请问有什么错误吗,为什么每次程序一运行。输入abc回车再输入a再回车(也就是从abc中删除a)程序总是崩溃呢?
展开
 我来答
aspring_ruan
2016-05-17
知道答主
回答量:19
采纳率:0%
帮助的人:6.1万
展开全部
想了一个比较简单的方法,程序也简单,要多看,多想想为什么,认真把课本的例题消化了,就发现很简单的啦!少年,要加油哦!!!

#include<stdio.h>
void main()
{
char *p;
char strings[100];
gets(strings);
for(p = strings; (*p)!='\0'&&(*p)!='?';p++)
;
(*p) = '\0';
putchar('\n');
puts(strings);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2016-05-17
展开全部
#include"stdio.h"#include"string.h"voidmain(){charstr[500];inti;printf("请输入字符串:\n");gets(str);for(i=0;i='0'&&str[i]<='9'))continue;elseprintf("%c",str[i]);}printf("\n");}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
HarryNR
2013-12-10 · TA获得超过929个赞
知道小有建树答主
回答量:1013
采纳率:33%
帮助的人:812万
展开全部
if(s2[j]!=s1[i])
{
a[k]=s1[i];
k++;
}

问题在于这个循环,
如果s2[0]等于了,就会判断s2[1],一直比对,如果直到s2[]结束全都相等,那恭喜你蒙对了。。。
其中有一个不相等,你就丢掉了s2[0]~s2[j-1]这之间的数据了,所以必须加一个处理:
if(s2[j]!=s1[i])
{
a[k]=s1[i];
k++;
}
else
{
// 懒得写了,就是把s2[0]~s2[j-1]赋值给a[]
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
情小辽1b
2010-03-18 · TA获得超过175个赞
知道小有建树答主
回答量:692
采纳率:0%
帮助的人:282万
展开全部
void fun(char a[],char b[],int n)
{
int i,j=0;
for(i=0;i<n;i++,j++)
b[i]=a[j];
j++;
for(i=n;i<LEN;i++)
{
b[i]=a[j];
j++;
}
b[i]='\0';
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yongping0411
2014-05-20
知道答主
回答量:32
采纳率:0%
帮助的人:8.9万
展开全部
void delchar(char *s,char c)
{
int i;

i=0;
while(s[i]!='\0')
if(s[i]==c)
s[i]=0;
i++;
}
改为
void delchar(char *s,char c)
{
int i,j;
char tmp_str[1024] = 0;
i=0;
j=0;
while(s[i]!='\0')
{
if(s[i] != 'c')
{
tmp_str[j];
j++;
}
i++;
}

strcpy(s,tmp_str);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式