Я потихоньку изучаю язык С. Изучаю по книге Керниган и Ритчи.
Задание: Напишите версию функции squeeze(s1,s2), которая удаляет из
s1 все символы, встречающиеся в строке s2. Вот программа:
#include <stdio.h>
#define MAXCHAR 1000
int main() {
char line1[MAXCHAR] = "привет";
char line2[MAXCHAR] = "вет";
squeeze(line1,line2);
printf("%s\n",line1);
return 0;
}
squeeze(line1,line2)
char line1[];
char line2[]; {
int i,j,k = 0;
int d = 0;
char line3[MAXCHAR];
for (i = 0; line1[i] != '\0'; i++) {
for (j = 0; line2[j] != '\0'; j++)
if (line1[i] != line2[i])
d = 1;
if (d == 1) {
line3[k++] = line1[i];
d = 0;
}
}
line3[k] = '\0';
copy(line1,line3);
}
copy(line1,line2)
char line1[];
char line2[]; {
int i = 0;
while((line1[i] = line2[i]) != '\0')
i++;
}
Мне кажетмя, что она написана, как сказать, не красиво. Особено
функция squeeze. Вопрос, можно ли написть её не так каряво или это
всё мне лишь кажется?
Форум —
Development


