请大家看看代码哪里出了问题,有两个没过
void delchar( char *str, char c ){
int i=0,j;
while(str[i]!='\0'){
if(str[i]==c){
j=i;
while(str[j]!='\0'){//当找到相同的时把后面整体往前挪一位//
str[j]=str[j+1];
j++;
}
}
i++;
}
}
```c
void delchar(char* str, char c) {
int i = 0, j;
while (str[i] != '\0') {
if (str[i] == c) {
j = i;
while (str[j] != '\0') {//当找到相同的时把后面整体往前挪一位//
str[j] = str[j + 1];
j++;
}
i = 0;
}
else
i++;
}
}
```
其实不需要用两个while循环啊!直接一个while循环即可啊!参考如下:
void delchar( char *str, char c ){
int i=0,j=0;
while(str[i])
{
if(str[i]!=c)
{
str[j++] = str[i];
}
i ++;
}
str[j] = '\0';
}
```c
void delchar(char* str, char c) {
int i = 0, j;
while (str[i] != '\0') {
if (str[i] == c) {
j = i;
while (str[j] != '\0') {//当找到相同的时把后面整体往前挪一位//
str[j] = str[j + 1];
j++;
}
i = 0;
}
else
i++;
}
}
```