关于struct结构的一道题目,请高手给解释一下
struct test
{
int a:2;
int b:2;
int c:1;
};
void main()
{
test data;
data.a = 1;
data.b = 3;
data.c = 1;
printf("%d,%d,%d\n", data.a, data.b, data.c);
}
问题1:程序的输出结果为什么是1,-1,-1 运行环境vc6.0 + xp
问题2: test data;
data.a = 1;
data.b = 3;
data.c = 1;
为什么把这几行代码定义为全局的程序编译就会出错(放在main之前),环境同上
请高手能够给详细的解释一下,越详细越好,我在这里先谢过了。
拜上