28 一般來說,在 C 語言中型態 unsigned short 變數值的範圍為 0 至 65535。試問下列 C 程式片段,產生的輸出為何?

(A)65534 65535 1
(B)65534 65534 65534
(C)65534 65535 65537
(D)65534 -32768 -32766
【San Hsien】評論
第一次65534,第二次65535,第3次65537 溢位,635537-65535=2,從0開始,故為1
【星魂君】評論
short佔2bytes = 16bits最大值 1111111111111111(2)= 65535(10)1111111111111111 + 0000000000000010 = 1 0000000000000001發生溢位,最左邊的進位無視,使得答案變成 0000000000000001(2) = 1(10)