编辑代码


#include <stdio.h>
//删除转入字符串中指定的字符
void  deleteCh( char *pstr , char ch)
{
    char *pch = pstr; //定义一个临时指针,指向当前遍历到的字符
    while(*pch!='\0') //判断是否到结束字符
    {
        if(*pch == ch)//找到第一个相等的字符,后面所有字符前移一字符
        {
            while(*pch!='\0')
            {
                *pch = *(pch+1); //字符前移一字符
                pch = pch+1;     //指向下一个字符
            }
            pch = pstr;          //再从头找第二,三... ...N个要删除的字符
        }
        pch = pch+1;             // 指向下一个字符
    }
}

//函数main用于测试函数deleteCh
int main () {
    char strdata[] = "abcd,efgh,ijk,lmn";
	printf("old strdata = %s\r\n",strdata);
    deleteCh(strdata,',');
    printf("affter deleteCh()\r\nstrdata = %s\r\n",strdata);
	return 0;
}