c++ - C++ 中的 boolean 流输出表示

标签 c++ boolean iostream

我有C++代码

int main()
{
   int a = 5, b=5;
   bool c;
   c = a == b;
   cout << c << endl;
   return 0;
}

Output is 1

谁能解释一下为什么输出是 1,为什么它不是真的?

最佳答案

因为这就是std::ostream::operator<<格式 bool默认值。它输出 1对于 true , 和一个 0对于 false .如果要打印文本 "true""false" , 您可以使用 boolalpha io 操纵器:

std::cout << std::boolalpha << c;

关于c++ - C++ 中的 boolean 流输出表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31332662/

相关文章:

c++ - 我的 C/C++ 应用程序如何确定 root 用户是否正在执行命令?

c++ - 如何将 OpenGL 中的事物缩放到实际大小?

c++ - 如何覆盖 std::filebuf?

python - 值错误: too many boolean indices for a n=600 array (float)

c# - 是否有关于以 'Is' 开始 boolean 属性名称的官方指南? (例如, 'IsDeleted')

c++ - Crypto++ 是否支持 TOFB-I?

java - 如何检查至少一个 boolean 值是否为真?

c++ - 如何为流式自写类编写用户定义的操纵器

c++ - 如何自动将流模式设置回默认值

c++ - 当文件有尾随换行符时,ifstream::tellg 在 MSVC2012 和 gcc (mingw) 上有所不同