若有以下說明和定義 union dt {int a;char b;double c;}data; 以下敘述中錯(cuò)誤的是 ____
若有以下說明和定義 union dt {int a;char b;double c;}data; 以下敘述中錯(cuò)誤的是 ______。
A.data的每個(gè)成員起始地址都相同
B.變量data所占的內(nèi)存字節(jié)數(shù)與成員c所占字節(jié)數(shù)相等
C.程序段data.a=5;printf("%f\n",data.c);輸出結(jié)果為5.000000
D.data可以作為函數(shù)的實(shí)參
正確答案:C解析:union是表示共用體的關(guān)鍵字,成員a,b,c共占用同一個(gè)內(nèi)存空間, data的每個(gè)成員起始地址都相同;共用體變量所占的內(nèi)存長(zhǎng)度等于最長(zhǎng)的成員的長(zhǎng)度,故變量data所占的內(nèi)存字節(jié)數(shù)與成員c所占字節(jié)數(shù)相等:執(zhí)行“data.a=5;printf("%f\n",data.c);”printf函數(shù)只是將內(nèi)存中的數(shù)據(jù)以不同的類型輸出,而不能將內(nèi)存中的整型數(shù)據(jù)自動(dòng)轉(zhuǎn)換為等值的浮點(diǎn)數(shù)故C是錯(cuò)誤的。
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。