编写一个函数delchar(char*s1,char s2),从字符串s1中删去与字符s2相同的字

2025-05-08 03:13:45
推荐回答(2个)
回答1:

#include
void delchar(char *s1, char s2)
{
    char *pS1 = s1;
    int nLen = strlen(s1);
    char *pBuff = new char[nLen + 1];
    memset(pBuff, 0, nLen);
    int i = 0;
    for (; pS1 < s1 + nLen; pS1++)
    {
        if (*pS1 != s2)
        {
            pBuff[i] = *pS1;
            i++;
        }
    }
    pBuff[i] = '\0';
    strncpy(s1, pBuff, nLen);
    delete[] pBuff;
}
int main()
{
    char s1[] = "abhchdefhghijhkl", s2 = 'h';
    delchar(s1, s2);
    std::cout << s1 << std::endl;
    getchar();
    return 0;
}

回答2: