问题 单项选择题

以下程序的输出结果是_______。
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。

判断题
单项选择题