int k=5;
char* result = (char *)malloc(100 * sizeof(char));
result[count] = k;
考虑到上面的代码,如果我打印 result[count]
的内容,它会打印笑脸符号。我尝试了如下,但没有用。
result[count]=(char)k;
有人可以帮助我吗?
我认为 malloc(100*sizeof(char))
将连续创建每个字符大小的 100
block 。如果我错了请纠正我?
最佳答案
我将忽略有关数组和 malloc 的所有废话,因为它与您描述的问题无关。您似乎本质上是在问“这段代码将打印什么:”
char c = 5;
printf("%c", c);
它将在符号表中打印符号 5,很可能是不可打印的字符。当遇到不可打印的字符时,某些实现会选择打印非标准符号,例如笑脸。
如果要打印数字 5,则必须使用字 rune 字:
char c = '5';
printf("%c", c);
或者使用带有“魔数(Magic Number)”的不良风格:
char c = 53; // don't write code like this
printf("%c", c);
关于我可以将整数分配给字符指针数组吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32991184/