微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么布尔数组的int类型输出不是1或0?

如何解决为什么布尔数组的int类型输出不是1或0?

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>

int main(void) {
    char ch[] = "test";
    bool X[32];
    char * pos = (char *)X;
    for (int i = 0; i < 4; ++i) {
        pos[i] = ch[i];
    }
    printf("%d\n",X[0]);
    return 0;
}

输出: 116

数组中都有int类型的数字,它们不是1或0,并且布尔类型是'false'。

如下图。

VS代码调试: enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。