为什么最后bool c=1

来源:3-10 强者争霸

weixin_慕莱坞5581218

2024-08-05 18:09

#include<stdio.h>
int main(int argc,char**argv)
{
    int a=2;
    int b=1;
    bool c=a*b;
    printf("Bool c:%d\n",c);
    return 0;
}


写回答 关注

1回答

  • JagerEX
    2024-08-08 15:10:14

    在 C++ 中,将 int 类型转换为 bool 类型遵循以下规律:

    • 非零值:任何非零的 int 值都会转换为 true

    • 零值int 值为零时会转换为 false

    int main() {    int a = 0;    int b = 42;    bool boolA = static_cast<bool>(a); // 转换为 false
        bool boolB = static_cast<bool>(b); // 转换为 true
    
        std::cout << "boolA: " << boolA << std::endl; // 输出 0 (false)
        std::cout << "boolB: " << boolB << std::endl; // 输出 1 (true)
    
        return 0;
    }


趣味 C++ 入门

C++ 入门,开启趣味学习之旅,揭开 C++ 的神秘面纱,让你不再望而生畏。

31184 学习 · 189 问题

查看课程

相似问题