#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)'А'); При этом русская буква не должна быть представлена как многобайтная константа.
Комментариев нет:
Отправить комментарий