3.以下程序的输出结果是___________。
main()
{union{int count[2];
char ch[4];}un;
int i ;char letter=6;
for(i=0;i<4;i++)un.ch[i]=letter++;
for(i=0;i<2;i++)printf("%d: %x ,", i , un.count[i]);}
讲讲如何算的,本来会现在又忘了
能详细一点吗?不太懂
追答一个char是一个字节,一个int 是两个字节,union就是让所有成员重复使用一个地址位置。
即4个char和两个int是指的一个位置的四个字节。
按照4个char的排列,则为 6,7,8,9,按照两个int的排列就是0607;0809(十六进制,这样好表示)
但是答案为什么不是7060而是706?
追答老大,你确认你学过计算机基础?一个字节存数据,是怎么个存法。以06的字节为例:你存进去的是06,难道他会自己变成60???
追问貌似懂了。
追答Over
本回答被提问者采纳