Входной массив для этого вопроса является:
char bytes[4]={50,48,49,51}
В памяти, символы сохраняются в соответствующих ASCII значений (или какой-либо другой схемы кодировки символов, выбранный компилятором): http://en.wikipedia.org/wiki/ASCII
Для данного входа, ASCII Value - Char Mapping выглядит следующим образом:
ASCII Value || Character
48 || '0'
49 || '1'
50 || '2'
51 || '3'
Примечание:
A. Для преобразования заданного символа значение к соответствующему целочисленное значение:
Subtract '0'.
Example: '2' - '0' = (int) 2
B. Для преобразования заданного целочисленного значения соответствующего символа:
Add '0'.
Example: 2 + '0' = 50 {ASCII Value for '2'}
Распечатайте значения символов для данного входного массива:
int main()
{
char bytes[4]={50,48,49,51};
int i=0;
/* Print The Equivalent Character Values */
for (i=0; i<4; i++)
{
printf ("%c\t", bytes[i]);
}
return 0;
}
Выход:
2 0 1 3
Вычтите 48 :-) –