我知道了,有用望采纳
#include <stdio.h>
char s[] = "this , is, string";
void sdele(char s[], char c){
int i, j ;
// 遍历 s
for( i = 0 , j = 0 ; s[i] != '\0' ; ++i ){
// 如果 现在这个位置 不是要删除的字符的话
if( s[i] != c ){
// s 就 原封不动
s[j++] = s[i];
/*
类似于
s[j] = s[i];
j++;
// 那么j和i就不一样了,j就是改变后的位置,i是识别的位置
因为 i >= j 所以s[j] 的变化并不会影响 i 去遍历 s
*/
}
}
s[j] = '\0';
}
int main() {
char c = ',';
sdele(s,c);
printf("%s",s);
}