问题
单项选择题
以下程序的输出结果是_______。
main()
union char i[2];
int k;
r;
r.i[0]=2; r.i[1]=0;
printf("%d\n",r.k);
A.2
B.1
C.0
D.不确定
答案
参考答案:A
解析:[评析] 根据共用体的定义可知:共用体r的成员k和成员i[2]是共用同—段内存空间,所以,当程序给r.i[0]赋值后,实际上,共用体成员k的值也确定了,为2。所以打印输出的结果应当为2。