【发布时间】:2017-05-10 10:27:52
【问题描述】:
为什么下面代码的输出是-1和-2,应该是1和2吧?
同样在 64 位服务器上,以下结构的大小是 4 字节,应该是 8 字节吧?
#include<stdio.h>
struct st
{
int a:1;
int b:2;
};
main()
{
struct st obj={1,2};
printf("a = %d\nb = %d\n",obj.a,obj.b);
printf("Size of struct = %d\n",sizeof(obj));
}
【问题讨论】:
-
你得到的答案是
-1 and -2或-1 and 2? -
@SouravGhosh -1 和 -2 先生
-
"应该是 1 和 2,对吧?"不,你为什么认为它应该是这样的?
标签: c struct bit-fields