Friday, May 9, 2008

一道关于共用体的题目

#include <stdio.h>

int main()
{
union l
{
int a[2];
char b[4];
};

union l c;
c.a[0] = 65;
c.a[1] = 66;

printf("%c\n", c.b[0]);

return 0;
}
不知道为什么那个输出语句会输出大写字母A, 如果按内存存放的结构来理解的话, 我觉得应该输出空, 也许对于共用体我还有什么没有理解的吧, 希望以后能找到关于这个的正确解释.

No comments:

Post a Comment