之前在处理删除某个字符串中的某个字符的时候,经常会先在外层套一个for循环,然后再进行查找目标字符串中的目标字符,当查找到的时候,将查找到的目标字符后面的所有字符依次向前面移动,然后继续向后查找目标字符,直到查找到最后的一个字符。
后来在看c语言的书籍的时候,发现了一种效率比较高的方法,该方法只需要进行一次对目标字符串的遍历即可完成删除目标字符的功能,具体的代码如下所示:
void delete_char(char str[],char target){
int i,j;
for(i=j=0;str[i]!='\0';i++){
if(str[i]!=target){
str[j++]=str[i];
}
}
str[j]='\0';
}