У меня есть кусок кода C, который полностью удаляет каждый второй символ из массива символов, делая исходный массив пополам (половина + 1, если размер был нечетным)C удаление строк - как работает этот код?
.. но я не могу понять, как оно работает.
void del_str(char string[]) {
int i,j;
for(i=0, j=0; string[i]!=0; i++) {
if(i%2==0) {
string[j++]=string[i];
}
}
string[j]=0;
}
//
example input: 'abcdefgh'
output from that: 'aceg'
what I thought the output would be: 'aacceegg'
Линия Я не понимаю
string[j++]=string[i];
Я могу написать код, который опускает каждый второй символ, поэтому результат будет:
'a c e g '
, но я не могу оберните мою голову вокруг этого.
Как вы можете написать программу, которая полностью удаляет каждый n-й символ и их пространство в исходном массиве? (производя тот же вывод, что и указанный код)
Выберите язык, братан. –
Вы говорите, что входной сигнал ** «abcdefgh» **, а выход - ** «acfg» **, поэтому мой вопрос - не должен быть ожидаемым выходом ** aceg **? Для моей стороны это ваш ** «каждый второй символ из массива символов» **. – Michi
Вы совершенно правы, я отредактировал часть – user2859280