#include<stdio.h>
#include<math.h>
#include<string.h>
void main() {
char str[30], * p = str, c , * q1, * q2;
gets_s(str);
c = getchar();
//整体思想是用找到将要被删除的字符,把他后面的字符依次前移,我觉得这种方法比较好理解
while (*p) {
while (*p == c) {//如果用if(*p==c)就只能删除一个字符
q1 = p;
q2 = p + 1;
while (*q2) {
*q1 = *q2;
q1++;
q2++;
}
*q1 = '\0';
}
p++;
}
printf("%s", str);
}
本文介绍了一种使用C语言实现从字符串中删除所有指定字符的方法。通过双重指针技巧,该程序能高效地移除目标字符,并展示了完整的源代码实现。
3万+

被折叠的 条评论
为什么被折叠?



