c语言中删去两个字符串中相同的部分
时间: 2024-11-15 16:33:52 浏览: 4
在C语言中,要删除两个字符串中相同的部分,通常可以创建一个新的字符串,通过遍历这两个输入字符串,只添加第一个字符串中不出现于第二个字符串的字符。以下是简单的步骤描述:
```c
#include <stdio.h>
#include <string.h>
void remove_common_chars(char* str1, char* str2, char* result) {
int i = 0, j = 0;
while (str1[i] != '\0' && str2[j] != '\0') {
if (str1[i] != str2[j]) {
result[j++] = str1[i];
}
i++;
}
// 将剩余的第一个字符串中的字符复制到结果
while (str1[i] != '\0') {
result[j++] = str1[i];
}
// 结束符
result[j] = '\0';
}
int main() {
char str1[] = "hello world";
char str2[] = "world";
char result[100]; // 预估的存储空间
remove_common_chars(str1, str2, result);
printf("After removing common parts: %s\n", result);
return 0;
}
```
在这个例子中,`remove_common_chars`函数会删除`str1`中`str2`也有的字符,最后的结果将是"hello "。
阅读全文