下列所定義的 C 語言結構變數: typedef struct { enum{A, B}kind; union{int i; short s;}u; }Number; Number a; a.kind = A; a.u.i = 2; 執行以下的 printf 指令,將會產生何種輸出? printf("%d %hd", a.kind, a.u.s);
A0 0
B0 2正確答案
C1 0
D1 2
答案與詳解
enum{A,B} 中 A 預設為 0;union 共用記憶體,int i=2 在小端序機器下,低 16 bits 正好是 2,以 short s 讀取得 2。輸出「0 2」。
