170 похожих чатов

#Include <stdio.h> int main () { char st[] = "ABC ***

XYZ *** KM*Q**RT*";
char symb = '*' ;
int k, n;
k = n = 0;
while (st[k] != '\0' )
{
if (st[k] == symb)
{
k++;
}
else
{
st[n] = st[k];
n++;
k++;
}
}
st[n] = '\0';
printf("%s", st);
return 0;
}

может кто-то обьяснить, как работает этот код со строкой? програма удаляет все '*' из строки. Не могу понять, как он работает, начиная с int n, k...хоть кратко, но дайте понять)

7 ответов

13 просмотров

обычно новичкам он не отвечает

Кавычки на отдельной строке должны быть

Kirill Bolshakov
Кавычки на отдельной строке должны быть

не обязательно, нужно чтобы перед первыми тремя и после последних пробел был

ВОт тут else { st[n] = st[k]; n++; k++; } всё сдвигается "вниз" (к началу) на один символ. Так и работает

Vetal- Автор вопроса
Ilya Zviagin
ВОт тут else { st[n] = st[k]; n+...

А зачем в конце мы пишем st[n]='\0'?

Vetal
А зачем в конце мы пишем st[n]='\0'?

Затем, что сишные строки нуль-терминированы

Vetal
А зачем в конце мы пишем st[n]='\0'?

Чтобы обещать хвост, старая длина минус новая

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта