C语言找两个字符串中同时出现的字符
时间: 2023-06-15 18:07:00 浏览: 117
可以使用两个嵌套的for循环,遍历两个字符串中的所有字符,判断是否相同,如果相同则表示同时出现,可以将该字符存储到一个新的字符串中,最后返回该字符串。
以下是示例代码:
```c
#include <stdio.h>
#include <string.h>
char* find_common_chars(const char* str1, const char* str2) {
char result[256] = {0};
int index = 0;
int len1 = strlen(str1);
int len2 = strlen(str2);
for (int i = 0; i < len1; i++) {
for (int j = 0; j < len2; j++) {
if (str1[i] == str2[j]) {
result[index++] = str1[i];
break;
}
}
}
return strdup(result);
}
int main() {
char* result = find_common_chars("hello", "world");
printf("Common characters: %s\n", result);
free(result);
return 0;
}
```
输出结果为:
```
Common characters: lo
```
注意,该代码只找到了同时出现的字符,并没有去重,如果需要去重可以使用哈希表或者排序等方法。
阅读全文