【发布时间】:2019-04-02 23:40:20
【问题描述】:
运行下面的代码会打印出b = and i = 15。
int i = 15;
char b = (char) i;
printf("b = %c and i = %d\n", b, i);
如何将这个整数存储在字符中?最后,我尝试创建一个大小为 1024 的 char 数组,其中 i (15) 作为第一个字符,其余为 0。
更新:我试过了:
int i = 15;
char buffer[1024];
snprintf(buffer, 10, "%d", i);
printf("buffer[0] = %c, buffer[1] = %c\n", buffer[0], buffer[1]);
打印出来的结果是:
缓冲区[0] = 1,缓冲区[1] = 5
【问题讨论】:
-
您说
i=15并且如果我没有记错但15 不是字符,那么您希望b也等于15。您不能在单个字符变量 (b) 中保存 2 个字符(1 和 5)。不过,我可能误解了您的问题。 -
您需要访问 http://www.asciitable.com/ 并熟悉可打印字符的 ASCII 值。