c语言 共用体

来源:百度知道 编辑:UC知道 时间:2024/06/08 15:53:17
#include <stdio.h>
union pw
{int i;
char ch[2];
}a;
void main()
{a.ch[0]=13;
a.ch[1]=0;
printf("%d\n",a.i);
}
问运行结果是什么
A.208 B.209 C. 14 D.13
请高手告诉我过程,谢谢了

D

因为 a.ch[0], a.ch[1]
在内存中存放顺序是

a.ch[0]a.ch[1]

int 低字节在前,高字节在后
所以
a.i = 13

D 啊
a.ch[0], a.ch[1]
第一个存放了int类型的13,
第二个存放了char类型的‘、0’
13在前 所以printf就录入了13

我和你一样 正在学习C语言 再过一个月我这要考二级 呵呵