我必须编写一个函数C,它删除字符串中与输入字符相同的所有字符。 例如,用户输入字符串“aabbccaabbcc”和char'b',那么结果应该是“aaccaacc”。 我不能在我的代码找到的错误(功能不会删除应该删除所有字符):C删除字符串中的字符
void removechar(char str[], char t)
{
int i,j;
for(i=0; i<strlen(str); i++)
{
if (str[i]==t)
for (j=i; j<strlen(str); j++)
{
str[j]=str[j+1];
}
}
}
的可变交叉这是为了将每个字符从字符串复制到自身,除非字符是要删除的字符。与使用临时字符串相比,使用更少的复制,循环和内存。 –