C语言 自定义函数,删除字符串中的字符

#include<stdio.h>voiddelchar(chars[],charc);intmain(void){chars[80],c;printf("Inputas... #include <stdio.h>
void delchar(char s[],char c);
int main(void)
{
char s[80],c;
printf("Input a string:");
gets(s);
printf("Input a char:");
scanf("%s",&c);
printf("After deleted,the string is:");
delchar(s,c);
puts(s);

return 0;
}
void delchar(char s[],char c)
{
int i,j;
for(i=j=0;s[i]!='\0';i++)
{
if(s[i]=='c')
s[j]=s[i+1];
else
s[j]=s[i];
}
}

有时对有时候不对,而且警告gets很危险...求解。
而且网上好像都是用到了指针,有不用指针的方法吗?
展开
 我来答
匿名用户
推荐于2018-02-27
展开全部
#include <stdio.h>
void delchar(char s[],char c);
int main(void)
{
 char s[80],c;
 printf("Input a string:");
 gets(s);
 printf("Input a char:");
 scanf("%c",&c);
 printf("After deleted,the string is:");
 delchar(s,c);
 puts(s);
 
 return 0;
}
void delchar(char s[],char c)
{
 for(int i=0;s[i]!='\0';i++)
 {
if(s[i]==c){
for(int j=i;s[j]!='\0';j++)
s[j]=s[j+1];
i--;
}
  }
}

请采纳

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式