我必須編寫一個函數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];
}
}
}
的可變交叉這是爲了將每個字符從字符串複製到自身,除非字符是要刪除的字符。與使用臨時字符串相比,使用更少的複製,循環和內存。 –