A char
в C может принимать значения только от CHAR_MIN
до CHAR_MAX
. Если char
подписано, CHAR_MAX
может быть меньше 255 (например, общее значение равно 127). Если char
не подписано, CHAR_MAX
должно быть не менее 255.
Предполагая, что ваш char
не подписан, вы можете просто назначить случайное число для char
(например, в вашей строке). Если char
подписан, вы должны быть более осторожны. В этом случае вы, вероятно, захотите присвоить значение mod 128 вашему char
.
Фактически, поскольку вы имеете дело с ASCII, вы можете захотеть сделать это в любом случае (ASCII только до 127).
Наконец, обязательное примечание о переносимости: значение char
в виде целого числа может не представлять его значение ASCII, если базовая кодировка не ASCII - пример - EBCDIC.