我有一个指向Char的指针,其中存储了'done'值。
我认为'done'的十六进制值应为:656e6f64
但是在尝试我的测试代码时:
unsigned int test = (unsigned int) *label;
fprintf(stderr, " label is %08x \n", mop);
它会打印出这样的值:
00000064
无法弄清楚我做错了什么,是不是在转变?我投错了吗?有什么想法吗?
答案 0 :(得分:0)
我现在能想到的最简单的选择是 -
int i;
for (i = 0; label[i] != '\0'; i++)
printf("%02x", (int)label[i]);
printf("\n");
这应该准确地给出你想要的东西。此外,任何代表性问题都不应该出现。