推 mi981027: 剛才跑了一下 答案應該會跟你的電腦是big endian還是lit 11/10 00:58
→ mi981027: tle endian有關? 11/10 00:58
→ mi981027: 先講union union裡宣告的變數記憶體是共享的 (可以去pri 11/10 00:58
→ mi981027: nt兩個人的位址,會是一樣的 ) 而大小由最大的那個人決 11/10 00:58
→ mi981027: 定 11/10 00:58
→ mi981027: int有4個bytes, char只有1個,所以就分配4 bytes給u 11/10 00:58
→ mi981027: 今天覆值187給u.n 二進位是0...010111011(共32 bit) 11/10 00:58
→ mi981027: 如果是一般intel電腦,是little endian的 就會分成4段 11/10 00:58
→ mi981027: 10111011, 00000000, 00000000, 00000000 11/10 00:58
→ mi981027: 由低位開始擺,而u.m因為跟u.n共享同一個位址,但又是ch 11/10 00:58
→ mi981027: ar,只有一個byte 11/10 00:58
→ mi981027: 所以印出來的時候就會印出 10111011 11/10 00:58
→ mi981027: 轉成10進位就是-69 11/10 00:58
→ mi981027: 但如果今天是big endian, 就會反過來擺 那答案就是0 11/10 00:58
推 DLHZ: 長知識 11/10 01:00
推 mistel: 有點不太懂 是指m,n兩個變數用同一個記憶體空間 的意思嗎 11/10 08:11
→ mistel: ? 11/10 08:11
推 Handsomeshen: 長知識 11/10 11:09
→ DLHZ: 是 11/10 11:49
推 mistel: 原來如此,原來還有union這種結構變數,懂了! 11/10 12:29
推 plsmaop: union,compiler 常用 11/10 12:52
→ realmanKG: 推,長知識 11/10 14:46
推 zuchang: 長知識推 話說 這哪裡的題目啊 11/10 14:50
→ BOSSHAHA: 感謝m大解惑!! 11/10 17:10
→ BOSSHAHA: Z大 117期中考古 11/10 17:12
推 gash55025502: XD難怪很像彪哥題目 11/10 18:29
推 achicn3: 一看就知是彪哥的題目 11/11 12:17
推 joey11121: 推長知識 11/12 09:53