【发布时间】:2013-06-13 11:43:03
【问题描述】:
我已经编写了这个 C++ 程序,但我无法理解为什么它在第三个 cout 语句中打印 1。
#include<iostream>
using namespace std;
int main()
{
bool b = false;
cout << b << "\n"; // Print 0
b = ~b;
cout << b << "\n"; // Print 1
b = ~b;
cout << b << "\n"; // Print 1 **Why?**
return 0;
}
输出:
0
1
1
为什么不打印以下内容?
0
1
0
【问题讨论】:
-
真的不知道为什么有人投票关闭。
-
+1 @vikiiii - 不幸的是,否决票和投票关闭是 stackexchange 的弱点,我相信因为它们以匿名方式发生。
-
所以您基本上使用了错误的运算符并想知道为什么它给您的结果不是您所期望的?
标签: c++ boolean complement