C语言:若字符串中的内容为:******A*BC*DEF*G****,删除后的字符串应是: ABCDEFG****
时间: 2024-12-30 20:34:39 浏览: 15
### C语言删除字符串中的特定字符
为了实现从字符串中移除指定字符的功能,可以编写一个函数来遍历输入字符串并构建一个新的不包含目标字符的结果字符串。下面是一个具体的例子,展示如何移除字符串中的星号(*):
```c
#include <stdio.h>
#include <string.h>
void removeChar(char *str, char garbage) {
char *src, *dst;
for (src = dst = str; *src != '\0'; src++) {
if (*src != garbage) {
*dst++ = *src;
}
}
*dst = '\0';
}
int main() {
char arr[] = "******A*BC*DEF*G****";
printf("Original String: %s\n", arr);
removeChar(arr, '*');
printf("Modified String: %s\n", arr);
return 0;
}
```
上述代码定义了一个`removeChar`函数用于过滤掉传入参数`garbage`所代表的目标字符[^1]。
当执行这段程序时,原始字符串为`"******A*BC*DEF*G****"`,经过处理后的输出将是`"ABCDEFG****"`。注意这里最后四个位置上的星号被保留了下来,因为操作仅限于移除作为分隔符的单个星号实例而不是结尾处连续出现的情况。
阅读全文