问题 单项选择题

下列程序的输出结果是______。 main() { union}int a[2];long k;char c[4]; }un,*sp=&un; sp->a[0]=0x39; sp->a[1]=0x38; printf("%1x\n",sp->k); }

A.3938

B.3839

C.390038

D.380039

答案

参考答案:D

解析:

[分析]:结构体变量un的存储情况如图18-3所示,第一列表示地址,第二列为每个字节的值,可用两位的十六进制数表示,当把这4个字节的内容作为long型数据时,高地址字节的值表示高位,低地址字节的值表示低位。

单项选择题
填空题