删除字符串中的某种字符的函数!
编写一个函数string_cut(char str[],char c),其功能是删除字符串中所有的字符变量c,例如char str="abaca";char c='a';
则执行string_cut(str,c)后,str的内容变为"bc"。
我的代码如下:
#include <stdio.h>
#include <string.h>
void string_cut(char str[],char c)
{
int i,j;
char str2[20];
for(i=0,j=0;str[j]!='\0';i++,j++)
{
if(str[j]!=c)str2[i]=str[j];
else {j++;str2[i]=str[j];}
}
str2[i]='\0';
puts(str2);
}
void main()
{
char str[20],c;
gets_s(str);
scanf_s("%c",&c);
string_cut(str,c);
}
不知道问题出在哪里,反正是没有正确的删除。
如果在主函数里面给变量c初始化就可以删除了,但是调试的时候也很慢,而且我没有超过20个字符居然也报错!
希望帮忙指正,谢谢!