有以下程序: main() { union { char ch[2]; int d; }s; s.d=0x4321; printf("%x,%x\n",s.ch[0],s.ch

admin2012-12-03  31

问题 有以下程序:
    main()
    { union
      { char ch[2];
        int d;
      }s;
      s.d=0x4321;
      printf("%x,%x\n",s.ch[0],s.ch[1]);
    }
    在16位编译系统上,程序执行后的输出结果是(    )。

选项 A、21,43
B、43,21
C、43,00
D、21,00

答案A

解析 s是一个公用体,d的值分别与ch中的两个元素的值相同,d的高位放在ch[1]中、低位放在ch[0]中,因此输出的结果为21,43。
转载请注明原文地址:https://jikaoti.com/ti/R2B0FFFM
0

最新回复(0)