首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >这个小程序是如何工作的?

这个小程序是如何工作的?
EN

Stack Overflow用户
提问于 2018-06-12 23:34:12
回答 1查看 194关注 0票数 4

我试着检查一下关于C++的QA练习,有一个问题把我逼疯了!

代码语言:javascript
复制
typedef struct {
    unsigned int i : 1;
} myStruct;

int main()
{
    myStruct s;
    s.i = 1;
    s.i++;
    cout << s.i;
    return 0;
}

问题是什么输出: 0/1/2/3/-1/Seg错误?

我检查了2,这是一个错误的答案:D,那么为什么程序会显示呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-12 23:48:03

您需要熟悉位域

默认情况下,int的大小为32位(4字节)。但是使用给定的表示法,您可以指定变量使用了多少位。

因此,当您将值从1增加时,它会溢出并返回到零。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50827229

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档