программа:
typedef struct xp {
int a:2;
int b:2;
int c:1;
} xp;
int main(void)
{
xp x;
memset(&x, 0, sizeof(xp));
x.a = 1;
x.b = 3;
x.c = 1;
printf("%d\n",x.a);
printf("%d\n",x.b);
printf("%d\n",x.c);
return 0;
}
Я получаю 1 -1 -1, почему? Как a, b и c хранятся в x? Что произошло, когда printf ("%d\n",x.a ); выполняется?