В отличие от некоторых других языков, которые вы, возможно, использовали, символы в C являются целыми числами. char
- это просто еще один целочисленный тип, обычно 8 бит и меньше int
, но все же целочисленный тип.
Итак, вам не нужны функции ord()
и chr()
, которые существуют в других языках, которые вы, возможно, использовали. В C вы можете конвертировать между char
и другими целочисленными типами, используя приведение или просто назначая.
Если не происходит EOF, определено, что getchar()
возвращает "неподписанный символ, преобразованный в целое число" (, аналогично fgetc ), поэтому, если это поможет, вы можете представить, что он читает какой-то символ, c
, затем возвращает (int)(unsigned char)c
.
Вы можете преобразовать это обратно в unsigned char
просто путем приведения или присвоения, и, если вы хотите получить небольшую потерю теоретической переносимости, вы можете преобразовать его в char
с помощью приведения или назначением это к char
.