Вы можете использовать тот факт, что кодировки символов для цифр все в порядке от 48 (для «0») до 57 (для «9»). Это верно для ASCII, UTF-x и практически всех других кодировок ( см. Комментарии ниже для получения дополнительной информации по этому ).
Следовательно, целое значение для любой цифры - это цифра минус 0 (или 48).
char c = '1';
int i = c - '0'; // i is now equal to 1, not '1'
является синонимом
char c = '1';
int i = c - 48; // i is now equal to 1, not '1'
Однако я нахожу первый c - '0'
гораздо более читабельным.