题目如下
用数组下标的解法能将就出结果,但是经不起刁钻测试用例考验
void delchar( char *str, char c ){
int n=0;
char *p=str;
while(*p!='\0'){ //统计长度
n++;
p++;
}
for(int i=0;i<n;i++){ //从第一项起检查
if(str[i]==c){ //如果指向元素等于c 执行for循环移位进行删除
for(int j=i;j<n;j++){
str[j]=str[j+1];
}
}
}
}
运行结果如下
下面是用指针,算法没变只是用了指针 连运行都运行不了。。
```c
void delchar( char *str, char c ){
int n=0;
char *p=str;
while(*p!='\0'){ //统计长度
n++;
p++;
}
while(*str!='0'){
if(*str==c){
char *p=str;
for(;p!='\0';p++){
*p=*(p+1);
}
}
str++;
}
}