Why does subtracting '0' in C result in the number that the char is representing?
c, c++, digits
Solution
Because the char are all represented by a number and '0' is the first of them all.
On the table below you see that:
'0' => 48
'1' => 49
'9' => 57.
As a result: (`'9'` - `'0'`) = (57 − 48) = 9
Source: http://www.asciitable.com
Problem
Can someone explain why this works? ``` char c = '9'; int x = (int)(c - '0'); ``` Why does subtracting '0' from an ascii code of a char result the number that that char is representing?