Эта функция принимает символ, соответствующий одной из цифр от '0'
до '9'
.Стандарт C предписывает, чтобы коды символов для этих цифр имели последовательные значения.
Таким образом, когда '0'
, то есть код символа для 0
вычитается из заданного кода символа, вы получите значение от 0 до 9.
Например, в ASCIIкоды от '0'
до '9'
: 48, 49, 50, 51, 52, 53, 54, 55, 56, 57. Поэтому, если вы передадите '4'
этой функции, она выполнит '4' - '0'
, чтотакой же как 52 - 48
, что равно 4.