分析一下下面程序的输出结果
答案: -16和1剖析:
"0 "的ascii码是0x30,表示成2进制就是00110000。 "1 "的ascii码是0x31,表示成2进制是00110001。前面当然都有有0011。注意,你做strcpy拷到cc里的是字符 '0 ', '1 ', '2 '.....不是数字0,1,2.....
sizeof(AA)的大小为4,b1和b2分别占5bit和2bit. 经过strcpy和memcpy后,aa的4个字节所存放的值是: 0,1,2,3的ASC码,即00110000,00110001,00110010,00110011 所以,最后一步:显示的是这4个字节的前5位,和之后的2位 分别为:10000,和01 因为int是有正负之分,所以是-16和1