int main(){
int a = 330;
char *p;
p = (char *) &a;
printf("%d",*p);
return 0;
}
这74怎么样? Plz解释一下?
答案 0 :(得分:2)
如果一个整数是4个字节,则其中有4个字符。尝试理解此代码的输出:
int main() {
int a =330, i;
char *p;
printf("%08x\n", a);
p=(char *)&a;
for (i = 0; i < sizeof(int); i++) {
printf("%02x ", p[i]);
}
printf("\n");
for (i = 0; i < sizeof(int); i++) {
printf("%02d ", p[i]);
}
printf("\n");
return 0;
}
打印:
0000014a
4a 01 00 00
74 01 00 00
答案 1 :(得分:0)
这里使用的是字符指针指向整数变量。 因为字符只是一个字节,所以你得到74。 如果您使用了整数指针,那么您将获得330。
330 in binary is : 0000 0001 0100 1010
您在这里看到的价值是
74 : 0100 1010(1byte)