楼主上大的吗?
你没有将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);
}