从一个字符串中移除包含在另一个字符串中的字符。输入两行字符串,将第一行字符串中包括第二行字符串中的所有字母去除。输出去除后保留的字符串。要求c语言
时间: 2024-11-03 08:05:38 浏览: 35
在C语言中,你可以通过遍历和操作字符数组来实现这个功能。这里是一个简单的示例程序,使用`strncpy`函数来复制并过滤掉指定字符串中的字符:
```c
#include <stdio.h>
#include <string.h>
void remove_chars(char* str1, char* str2) {
int i, j;
for (i = 0, j = 0; str1[i] != '\0'; i++) { // 遍历str1
if (!strstr(&str1[i], str2)) { // 如果当前字符不在str2中
str1[j++] = str1[i]; // 将字符添加到结果字符串中
}
}
str1[j] = '\0'; // 结束字符串
}
int main() {
char str1[100], str2[100];
printf("请输入第一个字符串: ");
fgets(str1, sizeof(str1), stdin);
str1[strcspn(str1, "\n")] = '\0'; // 移除fgets带来的换行符
printf("请输入第二个字符串: ");
fgets(str2, sizeof(str2), stdin);
str2[strcspn(str2, "\n")] = '\0'; // 同样移除换行符
remove_chars(str1, str2);
printf("去除后字符串: %s\n", str1);
return 0;
}
```
当你运行这个程序时,它会提示你输入两个字符串,然后输出第一个字符串中去掉第二个字符串所包含的所有字符的结果。
阅读全文