в теме по ссылке Реализация функции atoi
для меня кое что неясно: зачем от текущей ячейки s[i] отнимать символ '0'? И можно ли фильтр содержимого сделать как нибудь иначе?
n = (n * 10) + (s[i] - '0');
Если n*10 необходимо для формирования разрядности числа (я ведь прав?), то с этим действием (s[i] - '0') не всё ясно. Пожалуйста вкратце объясните.
Потому что код символа '0' не равен 0.
И чтобы получить численное значение из символа '0' - вычитаем этот '0'. А поскольку символы 0-9 идут подряд, вычитание '0' из символа десятичной цифры дает ее значение.
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники