相关疑难解决方法(0)

cout语句中使用的条件运算符

通过尝试,我开始知道有必要在cout语句中将括号放在条件运算符周围.这是一个小例子:

#include <iostream>

int main() {
  int a = 5;
  float b = (a!=0) ? 42.0f : -42.0f;
  // works fine
  std::cout << b << std::endl;
  // works also fine
  std::cout << ( (a != 0) ? 42.0f : -42.0f ) << std::endl;
  // does not work fine
  std::cout << (a != 0) ? 42.0f : -42.0f;

  return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出是:

42
42
1
Run Code Online (Sandbox Code Playgroud)

为什么这些括号必要?在两种情况下都知道条件运算符的结果类型,不是吗?

c++ conditional-operator

12
推荐指数
2
解决办法
1万
查看次数

标签 统计

c++ ×1

conditional-operator ×1