Представьте: разработчики потратили 50 часов на поиск бага в этом куске кода на C++. Попробуйте найти проблему до того, как дочитаете пост до конца.
if (ch >= 0x0FF00)
{
if (!((ch >= 0x0FF10) && (ch <= 0x0FF19)) ||
((ch >= 0x0FF21) && (ch <= 0x0FF3A)) ||
((ch >= 0x0FF41) && ((ch <= 0x0FF5A)))
{
if (j == 0)
continue;
ch = chx;
}
}
👉 Что пошло не так? Автор хотел проверить, что символ ch не входит ни в один из трех диапазонов. Но оператор отрицания ! применяется только к первому условию, а не ко всей сумме. Из-за этого логика сломалась, и проверка работала совсем не так, как ожидалось. Ошибка в расстановке скобок, которая привела к 50-часовому детективу.
А у вас были подобные ошибки в коде? Расскажите об этом в комментариях. #программирование #C #cpp #задачи #computer_science #разбор_задач
💡 Physics.Math.Code // @physics_lib
