29 下列所定義的 C 語言結構變數:

執行以下的 printf 指令,將會產生何種輸出?
printf("%d %hd", a.kind, a.u.s);
(A)0 0
(B)0 2
(C)1 0
(D)1 2

答案:登入後查看
統計: A(38), B(119), C(75), D(43), E(0) #3312382

詳解 (共 1 筆)

#6217940
1.enum(枚舉)若未給定值會從0開始排->所以A=0,B=1
2.union所需的記憶體空間大小由最大的成員變數決定,且因union並非像struct是個別存值,是採用共用記憶體,故會存成最後給定的值->int為4 bytes,short為2bytes,所以空間大小為應為4bytes,值為a.u.i給定的2
3.最後在printf出來是以a.kind(因a.kind='A',所以其值同0)與a.u.s(同a.u.i)的值->Ans:0,2
ㅤㅤ
9
0