70,004
社区成员




#include <stdio.h>
int main()
{
unsigned int a=0x12345678;
unsigned char b=(unsigned int)a;
char *c=(char*)&a;
printf("%04x %04x\n",b,*c );
return 0;
}
/*
*编译器:vc++6.0
*case1:unsigned int a=0x12345678;
*output:0078 0078
*
*case2:unsigned int a=0x123456a8;
*output:0078 ffffffa8;
*
*问题:为什么结果这样?谁能帮忙把详细过程说下
*/
#include <stdio.h>
int main()
{
char c=0xa8;
printf("%04x\n", c);
return 0;
}