答案是:-1 -1
首先,需要明白:共用体就是里面的变量共用共一块的空间,a和c[3]都从同一地址开始存放。
而后,-1是负数,且a为int型,所以在内存中存储为:0xFFFFFFFF,共四个字节。
而char是一个字节,分割开就是:0xFF、0xFF、0xFF、0xFF分别对应四块char型空间,具体看大端小端一一对应。
而char中的0xFF正是负数-1,所以a[0]、a[1]、a[2]也都是-1
windows系统下,低字节在前,-1的四个字节是0xFFFFFFFF
共用体c占用前3个字节,就是
c[0]=0xff
c[1]=0xff
c[2]=0xff
提升为int后的值就是-1