Из первого слова удалить все буквы, которые встречаются во втором слове - C (СИ)
Формулировка задачи:
Даны два слова. Из первого слова удалить все буквы, которые встречаются во втором слове.
Помогите пожалуйста - я совсем не разбираюсь в строках.
Решение задачи: «Из первого слова удалить все буквы, которые встречаются во втором слове»
textual
Листинг программы
#include <stdio.h>
#include <string.h>
int main(void) {
char a[] = "abcdefgh", b[] = "egcb", * p;
for ( p = strpbrk(a, b); p; p = strpbrk(p, b) )
memmove(p, p + 1, strlen(p));
printf("%s\n", a);
return 0;
}
Объяснение кода листинга программы
- Подключить две библиотеки: stdio.h и string.h.
- Объявить две переменные типа char: a и b. Значение переменной a равно
abcdefgh, значение переменной b равноegcb. - Создать указатель p, который будет указывать на первый символ, следующий за последним символом, который есть в b.
- Начать цикл, который будет выполняться до тех пор, пока p не станет равным NULL.
- Внутри цикла перемещать символы в массиве a, начиная с позиции, на которую указывает p, до конца строки.
- Вывести на экран результат.
- Вернуть 0, чтобы указать, что программа успешно завершилась.