union a { int x; char a[2]; } 如果我们将512值赋给x并尝试打印a[0]和a[1],那么输出是什么请解释一下怎么做? 最佳答案 根据标准,写给一个工会成员,然后从另一个工会成员读的结果是没有定义的。任何事情都有可能发生。实际上,如果您在一个小型的endian机器上运行代码,[0]可能是0,[1]可能是2在16位大端机上,[0]是2,[1]是0。在一个32位的大字节机器上(不存在,正如你所定义的),[2 ]将是2,而[0 ],[1 ],和[3 ]将是0。