方法巧妙,从字符串s中删除字符c,只需重新对s进行赋值即可,控制好角标,把和c相等的字符忽略. 例如新角标为j,当s[i]!=c时,直接对s[j]赋值为s[i],且向后移动j角标,即:s[j++]=s[i]. 当s[i]==c时,j不变,所以下次若找到和c不相同的字符,则直接覆盖这个位置即可. //从s1中删除和s2相等的字符. void squeeze(char* s,int c){ if(s==NULL) return; int i=0;int j=0; for (i,j;s[i]!='\0