在C语言中将ASCII数字转换为ASCII字符
在C语言中,有没有一种方法可以将键入为int的ASCII值转换为相应的ASCII字符作为char?如果在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 如果数字存储在字符串中(如果由用户键入,则为字符串),则可以使用
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);