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很危险...求解。
而且网上好像都是用到了指针,有不用指针的方法吗? 展开
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很危险...求解。
而且网上好像都是用到了指针,有不用指针的方法吗? 展开
1个回答
推荐于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--;
}
}
}
请采纳
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询