看代码
#include <stdio.h>
#include "string.h"
#include "stdbool.h"
char arr[] = "mcdabhaad";
char arr1[] = "mavbmmcbnh";
char arr2[10];
//长的数组放在循环外面,多少提高点效率
int len = strlen(arr) > strlen(arr1) ? strlen(arr) : strlen(arr1);
int len1 = strlen(arr) < strlen(arr1) ? strlen(arr) : strlen(arr1);
int j = 0;
bool isFlag = true;
for (int i = 0; i < len; i++) {
for(int k = 0; k < len1; k++) {
if (arr[i] == arr1[k]) {
isFlag = true;
for (int m = 0; m < strlen(arr2); m++) {
if (arr2[m] == arr1[k]) {
isFlag = false;
break;
}
}
if (isFlag != false) {
arr2[j++] = arr1[k];
break;
} else {
break;
}
}
}
}
for (int i = 0; i < strlen(arr2); i++) {
printf("%c", arr2[i]);
}
运行结果: