A char
en C solo puede tomar valores de CHAR_MIN
a CHAR_MAX
. Si se firma char
, CHAR_MAX
puede ser menor que 255 (por ejemplo, un valor común es 127). Si char
no tiene signo, CHAR_MAX
tiene que ser de al menos 255.
Asumiendo que su char
no tiene signo, sólo puede asignar el número aleatorio a un char
(en la cadena, por ejemplo). Si se firma char
, debe tener más cuidado. En este caso, probablemente desee asignar el valor mod 128 a su char
.
De hecho, dado que se trata de ASCII, es posible que desee hacerlo de todos modos (ASCII solo tiene 127).
Finalmente, obligatoria observación portabilidad: un valor char
's como un entero puede no representa su valor ASCII, si la codificación subyacente no es ASCII — un ejemplo es EBCDIC.
Simplemente colóquelo como un char, ¿no? –
@Anon. Es posible que desee publicar eso como respuesta, para que podamos votarlo. –
ASCII solo sube a 127. –