Вы просите компьютер напечатать 5-й символ в его таблице символов. Это управляющий символ, , в частности ENQ . Управляющие символы редко имеют видимый вывод; у них есть другое значение, которое может быть или не быть полезным (некоторые, такие как символы № 10 и № 13, весьма полезны).
Если вы хотите, чтобы символ печатал цифру 5, вы должны либо использовать '5', либо вы можете привести значение '0'+5
(которое в ASCII будет 48 + 5 ).
Возможно, вы не понимаете, что делает актерский состав. cast не обязательно преобразует данные так, как вы обычно думаете. Некоторые приведения (например, от int
до float
; некоторые - нет. Используемые приведения просто интерпретируют данные как другой тип: на уровне машины это просто числовое значение 5. Приведение к char
не меняет данные с этого числа, это просто означает, что система вывода рассматривает их как 5-й символ в таблице ASCII вместо целого числа 5. Если вы хотите преобразовать их в символ 5
, тогда вы обычно приходится выполнять какую-то работу (например, то, что я указал выше).