以下程序运行的结果是( )。
#include
union data
{ int a;
char b;
float c;
}u[3];
void main()
{printf("%dn",sizeof(a));
}
A、4
B、7
C、12
D、21
麻烦懂的人帮我解释一下吧
unionçsizeof, ä¹å°±æ¯å 空é´å¤§å°, æç
§æ大æåæ¥è®¡ç®.
å¨union dataä¸, æä¸ä¸ªå ç´ ,
aæ¯intå, å¨16ä½ä¸å 2åè, å ¶ä»æ åµä¸å 4åè.
bæ¯char, å 1åè.
cæ¯float, å 4åè.
äºæ¯ ä¸ä¸ªunion dataå 4åè.
è¿éçsizeof(a)æ¯é误ç, 没æè¿ä¸ªåé. åæ³çå¯ä»¥æ¯
sizeof(u) ç±äºuæ¯union data u[3]æ°ç», æ以大å°æ¯12åè. è¿æ ·çè¯éC
å¦ææ¯sizeof(union data)é£ä¹å°±æ¯4, éAäº.
å¨union dataä¸, æä¸ä¸ªå ç´ ,
aæ¯intå, å¨16ä½ä¸å 2åè, å ¶ä»æ åµä¸å 4åè.
bæ¯char, å 1åè.
cæ¯float, å 4åè.
äºæ¯ ä¸ä¸ªunion dataå 4åè.
è¿éçsizeof(a)æ¯é误ç, 没æè¿ä¸ªåé. åæ³çå¯ä»¥æ¯
sizeof(u) ç±äºuæ¯union data u[3]æ°ç», æ以大å°æ¯12åè. è¿æ ·çè¯éC
å¦ææ¯sizeof(union data)é£ä¹å°±æ¯4, éAäº.
温馨提示:答案为网友推荐,仅供参考
第1个回答 2018-01-02
答案A是正确的。