要求定义并调用函数delchar(str,c), 它的功能是将字符串 str 中出现的所有 c 字符删除

2024-11-07 08:37:21
推荐回答(1个)
回答1:

楼主上大的吗?

你没有将p指针赋值,p现在是一个野指针,当然不行

而且你这么做没有改变str的内容

void delchar(char *str, char c)
{
    int i,j;
    char p[100];
    i=j=0;
    while(*(str+i)!=0)
    {
        if(*(str+i)!=c)
        {
            *(p+j)=*(str+i);
            j++;
        }
        i++;
    }
    *(p+j)=0;
    for(i = 0;*(p+i)!=0;++i)
        *(str+i) = *(p+i);
    *(str+i) = *(p+i);
}