Задать вопрос
@amaterasu0

Почему этот код на С является рабочим?

Мне непонятно почему данное выражение после чего *s додёт до '\0' должно стать не истинным.

void copy(char *s, char *t) {
    while (*s++ = *t++)
        ;
}
  • Вопрос задан
  • 102 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Потому что результатом операции присваивания является присвоенное значение.
А 0 приводится к false.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@vanyamba-electronics
while (*s++ == *t++)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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