请帮忙解释一下为什么会有下面的输出

classfamily 2010-07-31 09:28:04
#include <stdio.h>
union
{
int i;
char x[2];
}a;


int main()
{
a.x[0] = 10;
a.x[1] = 1;
printf("%d",a.i);
return 0;
}


输出结果是266(OX010A)(低地址存地位)
请尽量详细的回答一下 谢谢
...全文
51 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
macrojj 2010-07-31
  • 打赏
  • 举报
回复
OX010A

0A 是10
01 是1

AnDay_Fly 2010-07-31
  • 打赏
  • 举报
回复
首先是联合体, i、x共用空间
至于低地址存地位和平台相关,是大小端问题

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧