Ascii is an encoding which gives consecutive id's to consecutive digits. As Eric Postpischil pointed out, the standard demands that property, even though the underlying encoding need not be ascii. Ascii is quite common though.
char c1 = '0';
char c2 = '1';
So whatever number '0'
is mapped to, '1'
will be that number + 1. In essence:
c2 == c1 + 1
Subtracting '0'
from a character which is a digit, will return its numeric value:
'1' - '0' == 1