【发布时间】:2011-12-09 00:05:43
【问题描述】:
一直在到处寻找,但找不到正确的答案。
问题很简单:
我必须将 ASCII 整数值转换为字符。 例如,根据 ASCII 表,108 代表 'h' 字符。但是当我尝试像这样转换它时:
int i = 108
char x = i
当我打印它时,无论我输入什么数字,它都会显示“s”(94,111...)。
我也试过这个:
int i = 108;
char x = i + '0'
但我遇到了同样的问题!顺便说一句,我将字符转换为整数没有问题,所以我不知道问题出在哪里:/ 提前谢谢
【问题讨论】:
-
请复制粘贴实际代码;这些片段无法编译,尝试调试从未运行过的东西通常没有意义。
-
请注意decimal value 108 is actually lowercase
l,而不是s或h。你在哪里找到s或h? -
请告诉我们您的 printf 调用方式。
-
对不起,108 代表 'l',但它没有任何区别。完整代码如下: int i = 108;字符 x = i; printf("%s\n", x);当我编译它时,它显示's'字符(并且没有错误),我不知道为什么..