在C中将ASCII数转换为ASCII字符

时间:2011-07-12 06:08:45

标签: c types ascii

在C中有没有办法将输入为int的ASCII值转换为相应的ASCII字符作为char?

4 个答案:

答案 0 :(得分:21)

您可以直接将int分配给char

int a = 65;
char c = a;
printf("%c", c);

事实上这也会奏效。

printf("%c", a);  // assuming a is in valid range

答案 1 :(得分:16)

如果iint,那么

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 格式字符串时,会显示 65A 的 ASCII 值)。 使用 %c 格式字符串时,会显示 A 本身。

输出: ASCII value of A = 65