为什么以下C语言代码显示-1?

拉杰什·塞西

我期望1作为输出。

#include<stdio.h>
int main(){
struct A{
    int a:1;
};
struct A bb;
bb.a=1;
printf("%d",bb.a);
return 0;
}
阿琼·斯瑞达拉恩

这样做int a:1,您正在设置a1 bit signed int它由1位表示,并在您的实现中采用二进制补码表示,范围为{0,-1}因此将设置1a将代表的值-1

附录

注意,C90按照标准,平原int是一个signed int但是当涉及位域时,以下内容成立:

位字段的类型可以为int,unsigned int或signed int。实现定义是否将纯int位字段的高阶位位置视为符号位

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么代码仅显示“ 1 2”?

来自分类Dev

为什么以下C语言代码给出此输出?

来自分类Dev

为什么在C语言中char是1个字节

来自分类Dev

为什么此代码显示100而不是1?

来自分类Dev

为什么代码 1 比代码 2 快?

来自分类Dev

为什么以下代码显示错误?

来自分类Dev

为什么部分_1.js,部分_2.js显示在我的资产编译代码中

来自分类Dev

为什么在此代码中显示的1字节好像是4?

来自分类Dev

为什么即使我已经添加了项目,此代码为何仍显示1?

来自分类Dev

谁能解释一下这段代码?为什么显示 1

来自分类Dev

为什么tellg()在代码末尾返回-1?

来自分类Dev

为什么我的代码总是返回1?

来自分类Dev

1F在以下代码中代表什么?

来自分类Dev

C编程:为什么(0 || -1)== 1?

来自分类Dev

为什么以下算法为O(1)空间?

来自分类Dev

为什么以下递归代码的输出是 5 3 1 1 3 5?不应该是 5 3 1 -1 1 3 5。?该函数也由 -1 调用。?请解释?

来自分类Dev

K&R的C编程语言练习1-13中的最后几行代码是做什么的?

来自分类Dev

解决C语言中的代码强制“ 1A Theatre Square”

来自分类Dev

为什么以下代码显示为空?

来自分类Dev

为什么是'if(1 == 1 == 1 == 1 == 1);' 正确,但'if(-1 == -1 == -1 == -1 == -1);' 假?

来自分类Dev

这段代码的过程是什么,为什么答案是1?

来自分类Dev

为什么1 +'1'='11'但1 *'1'= 1

来自分类Dev

为什么1 === 1 === 1为假?

来自分类Dev

为什么-1 >> 1计算为-1?

来自分类Dev

以下代码的语言是什么

来自分类Dev

从s / ^ / 1 /;中删除^导致我的代码失败。为什么?

来自分类Dev

为什么下面的代码在出口1处停止?

来自分类Dev

为什么会出现错误:ADB退出代码为1

来自分类Dev

为什么此javascript代码段记录为1?

Related 相关文章

  1. 1

    为什么代码仅显示“ 1 2”?

  2. 2

    为什么以下C语言代码给出此输出?

  3. 3

    为什么在C语言中char是1个字节

  4. 4

    为什么此代码显示100而不是1?

  5. 5

    为什么代码 1 比代码 2 快?

  6. 6

    为什么以下代码显示错误?

  7. 7

    为什么部分_1.js,部分_2.js显示在我的资产编译代码中

  8. 8

    为什么在此代码中显示的1字节好像是4?

  9. 9

    为什么即使我已经添加了项目,此代码为何仍显示1?

  10. 10

    谁能解释一下这段代码?为什么显示 1

  11. 11

    为什么tellg()在代码末尾返回-1?

  12. 12

    为什么我的代码总是返回1?

  13. 13

    1F在以下代码中代表什么?

  14. 14

    C编程:为什么(0 || -1)== 1?

  15. 15

    为什么以下算法为O(1)空间?

  16. 16

    为什么以下递归代码的输出是 5 3 1 1 3 5?不应该是 5 3 1 -1 1 3 5。?该函数也由 -1 调用。?请解释?

  17. 17

    K&R的C编程语言练习1-13中的最后几行代码是做什么的?

  18. 18

    解决C语言中的代码强制“ 1A Theatre Square”

  19. 19

    为什么以下代码显示为空?

  20. 20

    为什么是'if(1 == 1 == 1 == 1 == 1);' 正确,但'if(-1 == -1 == -1 == -1 == -1);' 假?

  21. 21

    这段代码的过程是什么,为什么答案是1?

  22. 22

    为什么1 +'1'='11'但1 *'1'= 1

  23. 23

    为什么1 === 1 === 1为假?

  24. 24

    为什么-1 >> 1计算为-1?

  25. 25

    以下代码的语言是什么

  26. 26

    从s / ^ / 1 /;中删除^导致我的代码失败。为什么?

  27. 27

    为什么下面的代码在出口1处停止?

  28. 28

    为什么会出现错误:ADB退出代码为1

  29. 29

    为什么此javascript代码段记录为1?

热门标签

归档