代碼如下:#includestructbit{inta:3;intb:2;intc:3;};intmain(intargc,char*argv[]){structbits;char*c=(char*)&s;*c=0x99;printf("s.a:%d;s.b:%d;s.c:%d\n",s.a,s.b,s.c);return0;}0x99的二進制編碼是10011001,我認為的結果是這樣:按照structbit各域的位數(shù),s.a占3位,應該是100,s.b占兩位,是11,s.c占3位,是001.但答案中s.a是001,s.b是11,s.c是100,和我想的順序相反。輸出結果也和答案一致:s.a:1;s.b:-1;s.c:-4請教一下,為什么是這樣呢?
請教一道關于c語言結構體的題目
DIEA
2019-04-08 11:18:16