在C中有没有办法将输入为int的ASCII值转换为相应的ASCII字符作为char?
答案 0 :(得分:21)
您可以直接将int
分配给char
。
int a = 65;
char c = a;
printf("%c", c);
事实上这也会奏效。
printf("%c", a); // assuming a is in valid range
答案 1 :(得分:16)
如果i
是int
,那么
char c = i;
将其设为char
。如果来自不受信任的来源,您可能需要添加值为<128
的检查。最好使用isascii
中的<ctype.h>
(如果您的系统上有)(请参阅@Steve Jessop对此答案的评论)。
答案 2 :(得分:2)
如果数字存储在字符串中(如果是用户输入的话),则可以使用atoi()
将其转换为整数。
可以将整数直接分配给字符。角色的不同之处主要在于它是如何被解释和使用的。
char c = atoi("61");
答案 3 :(得分:0)
char A;
printf("ASCII value of %c = %d", c, c);
在这个程序中,要求用户输入一个字符。该字符存储在变量 c 中。
当使用 %d
格式字符串时,会显示 65
(A
的 ASCII 值)。
使用 %c
格式字符串时,会显示 A
本身。
输出:
ASCII value of A = 65