当执行下面的程序时,其输出结果为______。 union st { int a; char b; } main() { union st s; char *p=(char*)&s;

admin2009-02-15  21

问题 当执行下面的程序时,其输出结果为______。    union st    {      int a;      char b;    }    main()    {      union st s;      char *p=(char*)&s;      s.a=0x3132;      s.b=0x33;      printf("%c",*p);    }

选项 A、1
B、2
C、3
D、不确定

答案4

解析 共用体类型结构的特点是使几个不同的变量共占同一段内存,但在每一瞬时只能存放其中一种,而不是同时存放几种,共用体变量中起作用的成员是最后一次存放的成员,在存入一个新的成员后原有的成员就失去作用。因此本题起作用的是成员b的值,所以程序打印输出3。
转载请注明原文地址:https://kaotiyun.com/show/rgXp777K
0

最新回复(0)