一个昨天没有解决的问题
/*sizeof(int)=4*/int main(int argc, char *argv[])
{
struct packed_data
{
unsigned a : 16;
}A,B;
A.a=0XFFFF;
B.a=A.a&0XAAAA;
printf("%X\n",B.a);
return 0;
}
运行结果是:FFFF
int main(int argc, char *argv[])
{
struct packed_data
{
unsigned a : 16;
}A,B;
A.a=0XFFFF;
B.a=0XAAAA;
printf("%X\n",A.a&B.a);
return 0;
}
运行结果是:AAAA
为什么第一个的结果不是:AAAA