C语言 字符串去特定字符 ACM答法
时间: 2024-10-29 15:18:08 浏览: 6
在C语言中,如果你想从字符串中去除特定的字符,可以采用循环遍历字符串并判断每个字符是否需要删除,然后将其复制到新的字符串中。这里提供一种简单的ACM风格的算法示例:
```c
#include <stdio.h>
#include <string.h>
char* remove_char(char *str, char to_remove) {
int len = strlen(str);
char new_str[len + 1]; // 为新字符串分配空间,包括终止符'\0'
for (int i = 0; i < len; i++) {
if (str[i] != to_remove) {
new_str[i] = str[i];
}
}
new_str[len] = '\0'; // 确保新字符串结束
return new_str;
}
int main() {
char input[] = "Hello, World!";
char char_to_remove = ',';
printf("Original string: %s\n", input);
char* result = remove_char(input, char_to_remove);
printf("String after removing '%c': %s\n", char_to_remove, result);
free(result); // 防止内存泄漏,注意在实际项目中处理好字符串指针
return 0;
}
```
在这个例子中,`remove_char` 函数接收一个字符串和一个目标字符作为参数,然后创建一个新的字符串,并逐个复制原字符串中的字符,跳过指定的字符。最后返回新的字符串。
阅读全文