c言語ある文字列のある文字を削除する


以前は、文字列から削除された文字を処理するときに、外層にforループを付けてからターゲット文字列のターゲット文字を検索することがよくありました.検索すると、検索されたターゲット文字の後ろのすべての文字が順番に前に移動し、最後の文字が検索されるまでターゲット文字を後ろに検索し続けます.
その後、c言語の書籍を見ていると、ターゲット文字列を1回遍歴するだけでターゲット文字を削除する機能を完了する効率の高い方法が発見されました.具体的なコードは以下の通りです.
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';
}