Вы можете использовать упрощенную версию union-find
.
Сначала вы перебираете string1
и помечаете все символы 1
. Я пишу упрощенный код, вы можете завершить его.
char mark[255];
for(s=string1; s; s++) mark[*s]=1;
Далее вы перебираете string2
и проверяете, отмечен ли текущий символ.
for(s=string2; s; s++) if (!mark[*s]) printf("%c", *s);
Это напечатает все символы из string2
, которые не в string1
.