Do not confuse the characters '1', '2', etc., with the numeric values 1, 2, etc.
This is how it works:
char c = '1'; // c is '1' (a character)
int x = c; // x is 49 (a number)
int y = (c - '0'); // y is 1 (a number)
char t = '2'; // t is '2' (a character)
char u = '5'; // u is '5' (a character)
int v = ((t - '0') * 10) + (u - '0'); // v is 25 (a number)