小编san*_*eep的帖子

为什么代码输出-1代替1

int main ()  
{  
struct bit{  
 char f1:1;  
 char f2:1;  
};  
struct bit b;  
b.f1= 0x1;   
b.f2 = 0x1;   
printf("%d\n",b.f1);  
return 0;  
} 
Run Code Online (Sandbox Code Playgroud)

使用gcc编译代码输出-1.它应该不是1吗?是因为我正在编译一个小端机器吗?

补充:使用GDB进行调试时,我看到初始化struct成员后的值为-1.即打印前它是-1.以下是GDB的打印输出:
(gdb)pb
$ 7 = {f1 = -1'',f2 = -1''}

如果您需要更多调试命令,请告诉我.请提供执行此操作的命令.

c

3
推荐指数
1
解决办法
291
查看次数

需要IP地址

当MAC地址唯一时,为什么我们需要IP地址?我们只能与MAC地址通信吗?

networking tcp mac-address

2
推荐指数
1
解决办法
1269
查看次数

标签 统计

c ×1

mac-address ×1

networking ×1

tcp ×1