Недавно добрался до книжки по Си Б.Кернигана и Д.Ритчи. Не могу понять, что значит: s[i] - '0' При условии что: s - массив char i - переменная-счётчик в циле В тексте объяснения не нашёл.
Ответ
Дело в том, что в Си тип char является числовым к нему можно также прибавлять и отнимать числа. s[i] - '0' в указанном куске кода автор использует трюк для перевода символа-цифры в число. Т.к. в кодировке символов цифры идут подряд начиная с 0, то если в s[i] содержится цифра, тогда результатом вычитания будет та же цифра, только уже в численном виде, а не в символьном. Код символа 0 это 48, код символа 7 будет 55. Соответственно 55 - 48 будет 7
Комментариев нет:
Отправить комментарий