问题
单项选择题
以下程序的输出结果是_______。 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。