Страницы

Поиск по вопросам

воскресенье, 16 февраля 2020 г.

Получение кода символа

#c


int main(void)
{

  printf("%d",(int)'А');
}


По идее, программа должна вывести код 'А'(кириллица), т.е. 192, но почему-то выводит -64.
    


Ответы

Ответ 1



Тип char может вести себя либо как тип signed char либо как тип unsigned char в зависимости от установленных опций компилятора. В вашем случае тип char ведет себя как тип signed char. Для типа signed char максимальное положительное значение равно 127 или в шестнадцатиричной форме 0x7F. Если хотите получить положительное значения кода, то напишите printf("%d",(unsigned char)'А'); При этом русская буква не должна быть представлена как многобайтная константа.

Комментариев нет:

Отправить комментарий