long占4字节(有些机器上占8字节),short占两字节。 i[0]=0x39,高位不足自动补0,相当于 i[0] = 0x0039,其余同理。
所以k应该输出 0x390038。 我看你标注的答案是 0x380039,这种情况应该是计算机按照小端存储,内部数据存储方式与人的读写方式相反。因此i的顺序应该先读取 i[1] 在读取 i[0] ,即,输出 0x380039.
手打不易,如有帮助,不妨关注走一波。