用c语言输入两个字符串,从一个字符串中移除包含在另一个字符串中的字符。输入两行字符串,将第一行字符串中包括第二行字符串中的所有字母去除。输出去除后保留的字符串。
时间: 2024-10-30 07:05:39 浏览: 10
在C语言中,你可以使用`for`循环、`strlen`函数以及数组操作来完成这个任务。首先,你需要获取两个字符串的长度,然后遍历第一个字符串,检查每个字符是否不在第二个字符串中。如果不在,就将其添加到结果字符串中。以下是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
void remove_chars(char* str1, char* str2) {
int len1 = strlen(str1);
int len2 = strlen(str2);
// 创建一个新的字符串用于存放处理后的结果
char result[len1 + 1];
result[0] = '\0'; // 初始化结果字符串为空
for (int i = 0; i < len1; ++i) {
if (!strchr(str2, str1[i])) { // 如果当前字符不在str2中
result[strlen(result)] = str1[i]; // 将其添加到结果字符串的末尾
result[strlen(result)+1] = '\0'; // 更新结束符
}
}
printf("去除后保留的字符串: %s\n", result); // 输出结果
}
int main() {
char str1[100], str2[100];
printf("请输入第一个字符串: ");
fgets(str1, sizeof(str1), stdin);
str1[strcspn(str1, "\n")] = '\0'; // 去除换行符
printf("请输入第二个字符串: ");
fgets(str2, sizeof(str2), stdin);
str2[strcspn(str2, "\n")] = '\0'; // 去除换行符
remove_chars(str1, str2);
return 0;
}
```
运行程序时,按照提示输入两个字符串,它会输出第一个字符串中移除掉第二个字符串中所有字符后的结果。
阅读全文