以下程序段的运行结果是( )。

来源:百度知道 编辑:UC知道 时间:2024/05/05 23:53:58
以下程序段的运行结果是( )。
union
{ int num;
char str[2];
}s;
s.num=20;
s.str[0]='A';
s.str[1]='\0';
printf("%d",s.num);
A. 20
B. 65
C. 0
D. A
希望大家多多帮忙!!!!
急!!!

B
联合体在同一时刻只有一个成员有意义,后面赋值的元素会将前面的覆盖掉,在这里就是最后初始化的字符数组str,当以%d形式输出时,从前向后依次是'A'和'\0'的ASCII码值65和0,因此输出65