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

在C语言中将ASCII数字转换为ASCII字符,c,types,ascii,C,Types,Ascii,在C语言中,有没有一种方法可以将键入为int的ASCII值转换为相应的ASCII字符作为char?如果i是int,那么 char c = i; 使其成为字符。您可能需要添加一个检查,确保值为,您可以直接将int赋值给char int a = 65; char c = a; printf("%c", c); 事实上,这也会起作用 printf("%c", a); // assuming a is in valid range 如果数字存储在字符串中(如果由用户键入,则为字符串),则可以使用

在C语言中,有没有一种方法可以将键入为int的ASCII值转换为相应的ASCII字符作为char?

如果
i
int
,那么

char c = i;

使其成为
字符
。您可能需要添加一个检查,确保值为
,您可以直接将
int
赋值给
char

int a = 65;
char c = a;
printf("%c", c);
事实上,这也会起作用

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

如果数字存储在字符串中(如果由用户键入,则为字符串),则可以使用
atoi()
将其转换为整数

整数可以直接指定给字符。一个字符之所以不同,主要是因为它是如何解释和使用的

char c = atoi("61");
在这个程序中,要求用户输入一个字符。字符存储在变量c中。 使用
%d
格式字符串时,将显示
65
(A
的ASCII值)。 使用
%c
格式字符串时,将显示
A
本身

输出:
ASCII值A=65

isascii
是一个Posix函数,不是标准的C。MS显然也支持它(但已弃用),因此涵盖了大多数实现。@Steve,感谢您的更正,您是对的。我还把
ctype.h
拼错为
ctypes.h
.int ia=65;char ca=(char)ia;
char A;
printf("ASCII value of %c = %d", c, c);