C++ |布尔值,哪个是真的?[复制]

C++ | Boolean Values, which is true? [duplicate]

提问人:Ulivax 提问时间:8/18/2018 更新时间:8/18/2018 访问量:330

问:

我最近在读一本C++的补习书,这个问题在讨论布尔运算符的一章下。让我感到困惑的问题如下:

  1. 以下哪项是正确的?
    • 答 1
    • 生于66岁
    • C. .1
    • D.-1
    • E.以上所有

根据论文,答案本身是 E,但是,从像我这样的新手角度来看,我假设 A 是答案,因为真值存储为 1,而假值存储为 0?那么,为什么答案会是以上所有呢?

C 可视化-C++ IOstream

评论

2赞 M.M 8/18/2018
这是一个糟糕的问题,但它们可能意味着:在转换为truebool
1赞 haccks 8/18/2018
除 以外的任何值都被视为 C++ 中的值。0true
0赞 phuclv 8/18/2018
我以为它会问以下哪个答案是正确的(正确的)?我花了一段时间才明白,这个问题实际上问的是以下哪一项评估为真? 在 C++ 中,是什么导致赋值在控制结构中使用时计算为 true 或 false?,0 或 1 以外的整数的布尔值是多少?

答:

1赞 Jesper Juhl 8/18/2018 #1

任何不等于零的值都被视为 。因此,问题的答案是 E,因为列出的值都不是零。true